【问题标题】:button_Click event never hitbutton_Click 事件从未命中
【发布时间】:2019-07-08 01:11:24
【问题描述】:

我有一个使用母版页的 Web 应用程序。出于某种原因,当我添加一个 buttonclick 事件时,该方法永远不会被命中。页面通过正常的 page_load 事件。如何让我的按钮单击事件触发?以前,这工作得很好,现在这发生在我的整个应用程序中,其中 !page.IsPostBack 总是从 button_Click 评估 false

我尝试添加脚本处理程序,但这似乎没有帮助

在 UI 页面中:

<asp:Button ID="Button1" CssClass="btn btn-primary" 
OnClick="putAccoutDetail" runat="server" Text="Save Changes" />

在代码隐藏中

protected void Page_Load(object sender, EventArgs e)
{
  if (Session["Authenticated"] == null || 
   Session["Authenticated"].ToString() != "true")
        {
            Response.Redirect("~/Login.aspx");
        }
        if (!Page.IsPostBack)
        {
            if (Session["UserID"] != null)
            {
                UserID = Convert.ToInt32(Session["UserID"]);
                getUserData(UserID);
            }
        }

    }

 public void putAccoutDetail(object sender, EventArgs e)
    {
        string statusMsg = string.Empty;
        var userInfo = db.UserMasts.FirstOrDefault(s => s.ID == UserID);
        if (userInfo != null)
        {
            userInfo.UserName = txtUserName.Text;
            userInfo.MilEmail = txtEmail.Text; 

            string base64 = Request.Form["imgCropped"];
            if (base64.Length > 0)
            {
                byte[] bytes = Convert.FromBase64String(base64.Split(',')[1]);
                String fileName = Guid.NewGuid().ToString() + ".png";
                userInfo.PhotoPath = fileName;
                ImagePhoto.ImageUrl = "/Images/Users/" + userInfo.PhotoPath;
                using (FileStream stream = new FileStream(Server.MapPath("~/Images/Users/" + fileName), FileMode.Create))
                {
                    stream.Write(bytes, 0, bytes.Length);
                    stream.Flush();
                }
            }
        }

        try
        {
            dHelper.LogAction("Update User Detail : " + userInfo.UserName);
            db.SubmitChanges();

            statusMsg = "Successfully Updated";
            lblstatusMsg.Text = statusMsg;
            lblstatusMsg.Visible = true;

        }
        catch(Exception ex)
        {
            statusMsg = "Update Failed";
            lblstatusMsg.Text = statusMsg;
            lblstatusMsg.Visible = true;
        }            

    }

【问题讨论】:

    标签: master-pages pageload buttonclick


    【解决方案1】:

    问题是表单在某些字段上未处理 ASP 验证器。我向它们添加了一个验证组,然后在 button_Click 中处理它们,一切正常

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-24
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多