从ASPX CodeBehind执行JS代码

时间:2015-06-09 10:27:40

标签: javascript c# asp.net

我的.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:Oopsie,发现了问题。我应该将UseSubmitBehavior="false" CausesValidation="false"添加到我的按钮。

2 个答案:

答案 0 :(得分:0)

你可以从下面的链接中找到类似的内容,它可以为您提供两个从后面的代码中调用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);

希望有所帮助

答案 1 :(得分:0)

Oopsie,发现了问题。我应该将UseSubmitBehavior="false" CausesValidation="false"添加到我的按钮。