【问题标题】:asp.net Button onclick event not firing. instead used Link Button, onclick event is firing but page reloads itselfasp.net 按钮 onclick 事件未触发。而是使用链接按钮,onclick 事件正在触发,但页面会自行重新加载
【发布时间】:2018-07-11 13:10:50
【问题描述】:

我正在研究 asp.net c#。我面临一个问题,按钮 onclick 事件正在绑定但未触发。我不知道为什么。相反,我使用了链接按钮。在链接按钮中,onclick 事件正在触发,但页面会自行重新加载。我不知道为什么。关于我面临的这个问题的任何想法?

.aspx 文件

asp:FileUpload ID="FileUpload1_brand_image" onchange="ShowPreview(this)" runat="server" asp:LinkBut​​ton ID="btnUpload" runat="server" CssStyle="text-decoration:none;" OnClick="btnUpload_Click" CausesValidation="False"

.cs 文件:

protected void btnUpload_Click(object sender, EventArgs e) //Profile Image  
        {  
            if (IsPostBack)  
            {  
                String product_path = Server.MapPath("~/assets/images/" + shopname.Value + "/");  
                if (!Directory.Exists(product_path))  
                {  
                    Directory.CreateDirectory(product_path);  
                }  
                String extension = Path.GetExtension(FileUpload1_brand_image.FileName);  
                FileUpload1_brand_image.SaveAs(product_path + shopname.Value + "_profileimage" + extension);  
                Session["path"] = product_path + shopname.Value + "_profileimage" + extension;  

            }  
}  

enter image description here

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    由于回发,ASP.net 页面重新加载正在发生。为避免这种情况,您需要使用 AJAX。 AJAX 请求将避免整个页面重新加载。您可以使用JQueryAPS.net AJAX toolkit

    <asp:ScriptManager ID="ScriptManager1" runat="server" />
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:FileUpload ID="FileUpload1" runat="server" />
            <asp:Button ID="btnAsyncUpload" runat="server"
               Text="Async_Upload" OnClick = "Async_Upload_File" />
            <asp:Button ID="btnUpload" runat="server" Text="Upload"
               OnClick = "Upload_File" />      
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID = "btnAsyncUpload"
              EventName = "Click" />
            <asp:PostBackTrigger ControlID = "btnUpload" />
        </Triggers>
    </asp:UpdatePanel>
    
    
    
    protected void Async_Upload_File(Object sender, EventArgs e)
    {
    
    }
    
    protected void Upload_File(Object sender, EventArgs e)
    {
      bool hasFile = FileUpload1.HasFIle;
    }
    

    【讨论】:

    • 其实我想在数据库中插入图片路径。使用 jquery 我不能有图像完整路径。这就是为什么我使用 asp.net 按钮或链接按钮并使用文件上传工具箱我可以获得图像
    • 请发布一些代码示例。这样每个人都可以得到更多的见解。
    • 请查看代码,如果您知道问题,请告诉我解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多