0

我在这里和许多其他网站上阅读了很多帖子,所以我收集了几个版本的如何做到这一点。我的问题是我无法让它做任何事情。

这是Javascript,只是一个测试警报:

    <script type="text/javascript">
        function ICDcheck() {
                alert('Patient has an ineligible diagnosis code!');
        }
    </script>

我通过将函数添加到按钮的 OnClientClick 来手动测试它,它工作正常。

这是我在代码隐藏中尝试过的:

ClientScript.RegisterClientScriptBlock(this.GetType(), "uniqueKey", "ICDcheck()", true);

和...

    string jsMethodName = "ICDcheck()";
    ScriptManager.RegisterClientScriptBlock(this, typeof(string), "uniqueKey", jsMethodName, true);

和...

    lblJavaScript.Text = "<script type='text/javascript'>ICDcheck();</script>";

最后一个引用了我在 asp 顶部的一个标签: Content 就在脚本和 asp : ScriptManager 块下方。

我已将这些位放置在 button_click、page_load、sqldatasource_selecting、formview_PageIndexChanging 中,并且始终相同,什么都没有。

一如既往,感谢您的耐心和帮助。我的无知可能会被暴露为问题,但我正在学习。

4

4 回答 4

1

尝试使用Page.ClientScript

Page.ClientScript.RegisterStartupScript( GetType(), "MyKey", "ICDcheck();", true);

还要安装firebug并检查是否有任何脚本错误。

于 2013-10-04T13:13:09.580 回答
1

试试这个。在您的页面上,有一个按钮:

<asp:Button ID="RunJsButton" runat="server" Text="Button" />

然后,在代码隐藏中,将脚本注入响应并将wireup添加到按钮:

    protected void Page_Load(object sender, EventArgs e)
    {
        string scriptToRun = @"function ICDcheck() { alert('Patient has an ineligible diagnosis code!');}";

        ClientScript.RegisterClientScriptBlock(this.GetType(), "", scriptToRun, true);
        RunJsButton.OnClientClick = "return ICDcheck();";
    }

如果这是您所追求的,您可以对其进行一些重构以实施最佳实践。

于 2013-10-04T13:18:56.637 回答
0

尝试

<button ID="your_btn" onclick="javascript:your_function(); return false;"><asp:literal ID="your_literal" runat="server" /></button>

<script type="text/javascript">
    function your_function() {
            alert('Patient has an ineligible diagnosis code!');
    }
</script>
于 2013-10-04T13:06:36.667 回答
0

这应该有效。

string jsToRun = "<script language=javascript>ICDcheck();</script>";

Type csType = this.GetType();

ClientScript.RegisterStartupScript(csType, "Key", jsToRun);
于 2013-10-04T13:20:09.267 回答