【问题标题】:Ajax control not working properly.Ajax 控件无法正常工作。
【发布时间】:2014-07-23 10:13:45
【问题描述】:

我在asp.net c#应用中使用过ajax控件

 <div class="uploadfiles">
  <asp:ScriptManager ID="ScriptManager1" runat="server"/>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
 <ContentTemplate>
<asp:FileUpload ID="file_upload" class="multi" runat="server" />
   <br /> 
   <asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click"/>
   <asp:Label ID="lblMessage" runat="server" />
    <asp:Panel ID="Panel1" runat="server">
    </asp:Panel>
  </ContentTemplate>

     <Triggers>
     <asp:AsyncPostBackTrigger ControlID="btnUpload" />
     </Triggers>
    </asp:UpdatePanel>

在.cs文件中

protected void btnUpload_Click(object sender, EventArgs e)
    {
        HttpFileCollection fileCollection = Request.Files;
        for (int i = 0; i < fileCollection.Count; i++)
        {
            HttpPostedFile uploadfile = fileCollection[i];
            string fileName = Path.GetFileName(uploadfile.FileName);
            if (uploadfile.ContentLength > 0)
            {
                uploadfile.SaveAs(Server.MapPath("~/UploadFiles/") + fileName);
                lblMessage.Text += fileName + "Saved Successfully<br>";
                HyperLink dynamHyperLink = new HyperLink();
                dynamHyperLink.Text = fileName.ToString() + "Saved Successfully<br>";
                // hyperlnk.Attributes.Add("href", Server.MapPath("/UploadFiles/") + fileName);
                dynamHyperLink.NavigateUrl = "~/UploadFiles/" + fileName;

                Panel1.Controls.Add(dynamHyperLink);
                //lblMessage.Text= "<a href=" + "/UploadFiles/" + fileName +">"+fileName+"</a>";
            }
        }
    }

当我点击上传按钮时,它不会执行btnupload_Click() 事件,也不会在Panel1 控件中显示上传的文件。

请帮帮我!!!

【问题讨论】:

  • 文件上传控件在更新面板中不起作用

标签: c# asp.net ajax asp.net-ajax


【解决方案1】:

在您的代码上使用 &lt;asp:PostBackTrigger ControlID="btnUpload" /&gt; 而不是 AsyncPostBackTrigger。

【讨论】:

    【解决方案2】:

    以FileUpload

    <asp:FileUpload ID="file_upload" class="multi" runat="server" />
    

    在更新面板之外并添加EventName参数到这里

    <asp:AsyncPostBackTrigger ControlID="btnUpload" />
    

    喜欢这个

    <asp:AsyncPostBackTrigger ControlID="btnUpload" EventName="Click" />
    

    【讨论】:

    • 不正确,异步回发不适用于更新面板控件内的 Fileupload..
    • true.. 改变了我的答案
    猜你喜欢
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多