我是js的新手,在尝试从我的代码隐藏中调用js函数时遇到了麻烦。
C#:
protected void GridView3_OnSelectedIndexChanged(object sender, EventArgs e)
{
tbListOfCountries.Text = GridView3.SelectedRow.Cells[1].Text;
Page.ClientScript.RegisterStartupScript(this.GetType(), "test", "test()", true);
}
JavaScript的:
function test() {
alert("test");
}
意外标识符错误:
//<![CDATA[
test()Sys.Application.add_init(function() {
$create(Sys.Extended.UI.TabPanel, {"headerTab":$get("__tab_TabContainer1_TabPanel1"),"ownerID":"TabContainer1","wasLoadedOnce":true}, null, {"owner":"TabContainer1"}, $get("TabContainer1_TabPanel1"));
});
任何见解?
答案 0 :(得分:1)
看起来您的脚本test()
在语法上不正确。尝试替换为test();
答案 1 :(得分:1)
如果您在UpdatePanel
中运行此操作,则可能会遇到一些问题(尤其是在PostBack上)。我觉得这个版本效果最好:
Control sender = MyUpdatePanel;
string javaScript = "alert('Hello');";
ScriptManager.RegisterStartupScript(sender, sender.GetType(), Guid.NewGuid().ToString(), javaScript, true);
您需要在页面上使用ScriptManager标记:
<asp:ScriptManager ID="MyScriptManager" runat="server" />