我的.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
}
每次测试时,数据都会添加到数据库中。根据交易是否成功返回0
或1
。我用来调用JavaScript函数的代码是:
ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "JSScript", "form_success(1);", true);
然而,JavaScript本身并未执行。我还尝试了Page.ClientScript.RegisterClientScriptBlock
和ClientScript.RegisterStartupScript
。
如何正确执行我的.JS文件中的JavaScript函数?
编辑:实际上,我刚刚发现我在第一页上操作HTML的任何功能(例如divTest.InnerHtml = "Test";
)都不起作用。
编辑2:Oopsie,发现了问题。我应该将UseSubmitBehavior="false" CausesValidation="false"
添加到我的按钮。
答案 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"
添加到我的按钮。