【问题标题】:ajaxFileUpload in a gridview not calling VB.NET Eventgridview 中的 ajaxFileUpload 不调用 VB.NET 事件
【发布时间】:2015-04-11 03:42:24
【问题描述】:

好的,我有一个看起来像这样的 vb gridview:

<asp:GridView ID="grvMain" Width="100%"  runat="server">
 <Columns>
  <asp:TemplateField ShowHeader="False">
   <ItemTemplate>
    <asp:Panel ID="pnlEdit" runat="server" Visible="False" Font-Size="15px">
     <asp:AjaxFileUpload OnUploadComplete="AjaxFileUploadEvent" ID="AjaxFileUpload11" runat="server" MaximumNumberOfFiles="1"  />
       </asp:Panel>
      <asp:LinkButton CommandArgument="<%# Container.DataItemIndex %>" ID="lbtnIcon" runat="server">View</asp:LinkButton>
     </ItemTemplate>
   <ItemStyle />
  </asp:TemplateField>
 </Columns>
</asp:GridView>

页面的其余部分无关紧要,但我确实拥有使 ajaxFileUpload 工作的所有代码。我遇到的问题是当文件上传在gridview中时,它不会调用它在gridview之外调用的事件。

这是我的 Gridview 的代码。

Public Sub grvMain_RowCommand(sender As Object, e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles grvMain.RowCommand
    Dim intIndex As Integer = Convert.ToInt32(e.CommandArgument)
    Dim pnlEdit As Panel = grvMain.Rows(intIndex).FindControl("pnlEdit")
pnlEdit.visible = true
End Sub

因此,当在 gridview 中按下链接按钮时,它会启用包含文件上传的面板。

OnUploadComplete 事件的代码是:

Sub AjaxFileUploadEvent(sender As Object, e As System.EventArgs)
    Dim filename As String = System.IO.Path.GetFileName(e.FileName)
    Dim strUploadPath As String = "~/images/"
    AjaxFileUpload11.SaveAs(Server.MapPath(strUploadPath) + filename)
End Sub

代码所做的只是将文件保存在文件夹中。我还尝试将 ajaxfileupload 更改为OnClientUploadComplete="AjaxFileUploadEvent",但它仍然没有调用该事件。我只需要知道如何让它调用正确的事件,而不是仅仅进行回发。谢谢

【问题讨论】:

    标签: c# asp.net vb.net gridview


    【解决方案1】:

    如果你的 web 配置你有类似下面的东西..

    <httpHandlers>
        <add verb="*" path="AjaxFileUploadHandler.axd"
          type="AjaxControlToolkit.AjaxFileUploadHandler, 
          AjaxControlToolkit"/>
    </httpHandlers>
    

    【讨论】:

    • 是的,我的网络配置文件中确实有。我也有 并且我在页面上有一个脚本管理器
    • 如果您在 UpDatePanel 中移动/包装控件会发生什么...?我在 C# 等效项中尝试同样的事情,我的问题为零..
    • 当我将 ajaxfileupload 放入更新面板时,它给了我一个错误,即 Type 'System.web.ui.updatepanel' 没有名为 'ajaxfileupload' 的公共属性
    • 因为您的控件名称IDAjaxFileUpload11,所以您知道区分大小写
    • vb 不区分大小写。我在哪里使用了错误的 ID
    猜你喜欢
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 2012-10-19
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多