C# 如何在onclick之后调用onclientclick

C# 如何在onclick之后调用onclientclick,c#,jquery,asp.net,onclick,onclientclick,C#,Jquery,Asp.net,Onclick,Onclientclick,我有这个按钮 <asp:Button runat="server" ID="btnReviewDocs" CssClass="btnReviewDocs" data-theme="b" Text="Review Documents" OnClick="btnReviewDocs_Click" OnClientClick="clickHyperlink();"/> 但是“OnClientClick”事件总是在“OnClick”之前执行。有什么解决办法的

我有这个按钮

<asp:Button runat="server" ID="btnReviewDocs" CssClass="btnReviewDocs" data-theme="b"
                Text="Review Documents" OnClick="btnReviewDocs_Click" OnClientClick="clickHyperlink();"/>
但是“OnClientClick”事件总是在“OnClick”之前执行。有什么解决办法的建议吗


我正在做这些事情,因为我在JQuery Mobile和“Response.Redirect(url);”方面遇到了问题正在更改页面,但未更改URL。

使用
ClientScript
对象中的
RegisterStartupScript
在回发后运行代码-->

试试这个

    protected void btnReviewDocs_Click(object sender, EventArgs e)
    { 
        //something doing here

        Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "<script type='text/javascript'>clickHyperlink()</script>");//call javascript function
    }
protectedvoid btnReviewDocs\u单击(对象发送者,事件参数e)
{ 
//这里有什么事吗
Page.ClientScript.RegisterStartupScript(this.GetType(),“test”,“clickHyperlink()”;//调用javascript函数
}

我相信您不需要在JS部分中包含
超链接
控件。 修改JS函数并从
btnReviewDocs
按钮中删除
OnClientClick
属性:

<script type="text/javascript">
    function clickHyperlink(href) {
        $.mobile.showPageLoadingMsg();
        window.location.href = href;
    }
</script>

答案由@Alex Filipovici提到

但是首先你应该问问自己,你真的需要回到客户端进行重定向吗

为什么不打电话:

Response.Redirect("MyURL");

如果函数是在一个js文件(比如MyPage.js)中定义的呢?如果你向js文件添加一个脚本引用,它应该仍然可以工作。我在“ClientScript.RegisterStartupScript…”行和“clickHyperlink”(我使用的是google chrome)中添加了一个断点但是clickHyperlink函数中的断点没有触发,而且我也没有重定向到新的URL。请确保您使用我的答案中的最新代码示例,因为我最初插入了一个输入错误。我已经提到了原因-我在使用JQuery Mobile时遇到问题,正在寻找解决方法,这让我想到了目前的情况。
<script type="text/javascript">
    function clickHyperlink(href) {
        $.mobile.showPageLoadingMsg();
        window.location.href = href;
    }
</script>
protected void btnReviewDocs_Click(object sender, EventArgs e)
{
    // TODO: set the url, maybe append some params to the 
    // hlnkID.NavigateUrl value
    var url = "http://stackoverflow.com/";
    ClientScript.RegisterStartupScript(Page.GetType(), 
        "clickHyperlink",
        "clickHyperlink('" + url + "');",
        true);
}
Response.Redirect("MyURL");