__doPostBack不触发事件

时间:2012-12-19 18:49:27

标签: c# javascript jquery asp.net dopostback

我想在按钮回发之前挂钩jquery样式是|否确认框。

应该发生什么

  • 用户点击“否” - 没有回发
  • 用户点击“是” - 回发,触发按钮事件

目前发生的事情

  • 用户点击“否” - 没有回发
  • 用户点击“是” - 回发,页面加载事件被触发,但不是 按钮事件处理程序

那么,我怎样才能触发按钮事件处理程序?右边它只是去页面加载事件。

 <asp:Button ID="btnSetActive" runat="server" Text="Set as Active" OnClientClick="AllBrandsConfirmation(); return false;" onclick="btnSetActive_Click" />


$(function () {

    // Set all brands (yes button)
    $('#setAllBrandsConfirmation #yes').click(function () {
        $.unblockUI();
        __doPostBack('ctl00_ctl00_oCPH1_Content_btnSetActive', '');
    });

    // Set all brands (no button)
    $('#setAllBrandsConfirmation #no').click(function () {
        $.unblockUI();
    });

});


// All brands confirmation
function AllBrandsConfirmation() {
    $.blockUI({ message: $('#setAllBrandsConfirmation') });
}

2 个答案:

答案 0 :(得分:3)

protected void Page_Load(object sender, EventArgs e)
{
    if(Request.Form["__EVENTTARGET"] != null)
        if(Request.Form["__EVENTTARGET"] == "ctl00_ctl00_oCPH1_Content_btnSetActive")
            btnSetActive_Click(sender, e);
}

protected void btnSetActive_Click(object sender, EventArgs e)
{
    //do your work here
}

答案 1 :(得分:1)

我只是想通了......好吧google帮助:)显然在doPostBack方法的第一个参数中你需要使用控件uniqueId,而不是id值。一旦我改变它就触发了事件。