c# - 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();"/>

在“OnClick”事件中,我正在组装一个需要设置为 asp:Hyperlink 的 URL,在“OnClick”的末尾,我将此 URL 设置为“asp:Hyperlink”的“NavigateURL”属性 super 链接'。一旦“asp:Hyperlink”具有正确的 URL,我需要调用“clickHyperlink()”函数。

function clickHyperlink() {
    var href = $('#hlnkID').attr('href');
    if (typeof href !== "undefined") {
        $.mobile.showPageLoadingMsg();
        window.location.href = href;
    }
}

但是“OnClientClick”事件始终在“OnClick”之前执行。对于解决方法有什么建议吗?

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

最佳答案

我相信你并不需要在JS部分涉及Hyperlink控件。 修改您的 JS 函数并从 btnReviewDocs 按钮中删除 OnClientClick 属性:

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

在服务器上,在 btnReviewDocs_Click 方法中:

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);
}

关于c# - onclick后如何调用onclientclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17447928/

相关文章:

c# - 我的 C# 应用程序出现全屏错误

c# - 如何配置 ToolStripDropdownbutton 大小以匹配父下拉按钮的大小?

具有本地化内容的 ASP.NET PasswordRecovery 控件

c# - ----s 在 StringBuilder.ToString() 的上下文中是什么意思?

c#:与设备通信期间数据缓冲区发生奇怪的偏移

jquery - 无法让基本的 pjax 示例工作

javascript - 单击或悬停在 Bootstrap 标签输入标签上时如何获取(对象)值?

javascript - ajax 调用后加载脚本或 CDN

c# - dbcontext.SaveChnages();插入数据库时​​抛出异常DbUpdateException,将EF5与Mysql结合使用

asp.net - 使用 EF 的 sql server 数据库镜像不适用于我的 asp.net 应用程序