【问题标题】:Executing JS code from ASPX CodeBehind从 ASPX CodeBehind 执行 JS 代码
【发布时间】:2015-06-09 19:15:44
【问题描述】:

我的 .aspx 文件中有以下内容:

<head runat="server">
    <script type="text/javascript" src="js/code.js"></script>
</head>
...
<asp:Button ID="btnSend" runat="server" Text="Submit" OnClick="btnSend_Click" />

在代码隐藏中:

protected void btnSend_Click(object sender, EventArgs e)
{
// Code to add data to database
// Code to execute JavaScript function in code.js telling page transaction is complete
}

每次我对此进行测试时,都会将数据添加到数据库中。 01 根据事务是否成功返回。我用来调用 JavaScript 函数的代码是:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "JSScript", "form_success(1);", true);

但是 JavaScript 本身并没有被执行。我也试过Page.ClientScript.RegisterClientScriptBlockClientScript.RegisterStartupScript

如何从我的 .JS 文件中正确执行 JavaScript 函数?

编辑:实际上,我刚刚发现我所做的任何操作第一页上的 HTML 的函数(例如 divTest.InnerHtml = "Test";)也不起作用。

编辑 2:哎呀,找到问题了。我应该在我的 Button 中添加 UseSubmitBehavior="false" CausesValidation="false"

【问题讨论】:

    标签: javascript c# asp.net


    【解决方案1】:

    您可以从下面的链接中找到类似的东西,它为您提供了两个选项来从后面的代码中调用您的 JS function

    Call JS function from code behind

    这里代码分解为调用js函数

    ScriptManager.RegisterStartupScript(this, GetType(), "JSScript", "form_success(1);", true); 
    

    更新

    ClientScript.RegisterStartupScript(GetType(), "JSScript", "javascript:functionName(); ", true);
    

    希望有帮助

    【讨论】:

    • 感谢您的回复,不幸的是这也没有用:/
    • 尝试调试代码并检查你得到了什么
    • 也不行,代码执行没有错误但什么也没有发生。
    • 当我像这样添加ClientScript.RegisterStartupScript(GetType(), "Javascript", "javascript:fillform_success(1) ", true);时,它给了我Test的警报
    • 实际上,我刚刚发现我所做的任何在第一页上操作 HTML 的函数(例如 divTest.InnerHtml = "Test";)也不起作用。有什么想法吗?
    【解决方案2】:

    哎呀,找到问题了。我应该在我的 Button 中添加 UseSubmitBehavior="false" CausesValidation="false"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 2015-07-24
      • 2018-08-16
      • 1970-01-01
      • 2023-04-07
      相关资源
      最近更新 更多