asp.net按钮使用jQuery回发

时间:2012-11-05 07:05:52

标签: jquery asp.net

我需要在jQuery模式对话框中为asp.net按钮做回帖。我有的标记是这样的

 <div id="content">
        <h1>
            Join Our Community</h1>`enter code here`
        <hr />
       Some Context..
        <br />
        <br />
         Some Context..
        <hr />
        <br />
        <!-- Modal Dialog -->
        <a id="tos" href="#serviceterms" title="You must agree with our tems of service.">Click
            HERE to Agree to our Terms </a>
        <div style="display: none">
            <div id="serviceterms" style="width: 440px; height: 250px; overflow: auto;">
                Lorem ipsum dolor sit amet, consectetur adipiscing elit.
                <br />
                <br />
       Some Context..
                <br />
                <br />
                <hr />
                <input type="button" value="Yes" onclick="ToS_Agree()" />&nbsp;&nbsp;
                <input type="button" value="No" onclick="ToS_NotAgree()" />
            </div>
        </div>
        <br />
        <br />
        <asp:Button ID="HiddenButton" runat="server" Text="Button" OnClick="Button1_Click" />
        <asp:Button ID="SubmitButton" runat="server" Text="Submit Form" Enabled="False" ClientIDMode="Static"
            OnClick="SubmitButton_Click" />
        <br />
        <br />
        <asp:Label ID="LabelResult" runat="server" Text=""></asp:Label>

在jQuery部分中,代码类似于

$(document).ready(function () {

    $("#tos").fancybox({
        'titlePosition': 'inside',
        'modal': 'true',enter code here
        'transitionIn': 'none',
        'transitionOut': 'none'
    });
});

function ToS_Agree() {
    $('#SubmitButton').removeAttr('disabled');
    __doPostBack('<%# HiddenButton.ClientID %>', '')

}

function ToS_NotAgree() {
    $('#SubmitButton').attr('disabled', 'disabled');
    $.fancybox.close();
}       

问题:当我点击模态对话框中的“是”按钮时,它正确回发。但是它将我引导到page_load事件主体并且不会转到Button1_Click主体。请帮帮我。我个人认为必须有一种方法可以使用jQuery来获取我想要的事件主体。

2 个答案:

答案 0 :(得分:3)

带有#符号的表达式是数据绑定表达式。它只会评估DataBind()被调用。使用=符号:

__doPostBack('<%= HiddenButton.UniqueID %>', '')

答案 1 :(得分:0)

而不是:

__doPostBack('<%# HiddenButton.ClientID %>', '')

这样做:

$("#<%=HiddenButton.ClientID%>").click();

它会点击点击按钮并触发服务器端事件。