更新.Net代码隐藏的JavaScript变量
我试图在回发后更新JavaScript变量。我正在考虑使用ClientScript.RegisterStartupScript函数。它适用于初始页面加载,但不适用于回发。我在page_load函数中添加了下面的行。我假设发生的事情是,如果密钥添加一次,它不能再次添加它。我有一个母版页和内容页面。我从内容页面调用它。更新.Net代码隐藏的JavaScript变量
ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('Error !!!');</script>");
有没有从后端调用JavaScript函数的方法?
谢谢
试试这个方法:
语法
public void RegisterOnSubmitStatement (
Type type,
string key,
string script
)
使用
放置在页面加载此代码使脚本火的网络表单提交的每点击。
if (!script.IsClientScriptBlockRegistered(this.GetType(), "SubmitScript"))
{
script.RegisterOnSubmitStatement(this.GetType(), "SubmitScript", "alert('Submit Clicked')");
}
考虑下面的代码
protected void Page_Load(object sender, EventArgs e)
{
ClientScriptManager script = Page.ClientScript;
if (!script.IsClientScriptBlockRegistered(this.GetType(), "SubmitScript"))
{
script.RegisterOnSubmitStatement(this.GetType(), "SubmitScript", "return confirm('Are you sure to continue')");
}
}
protected void btnSubmit_Click(object sender, EventArgs e)
{
Response.Write("Form is Submitted.");
}
我正在使用一个网格,并没有意识到,RegisterOnSubmitStatement会被触发,因为我从一个记录更改为另一个。每次我从记录更改到记录时,它都会进行回传。很棒。谢谢。 – MindGame 2012-04-10 16:57:27
你可以把asp:Literal放在你的aspx页面的脚本块中。
然后在您的代码背后,只需将变量赋值作为文本置于文字中即可。它会作为你的javascript代码的一部分呈现。
有趣,不知道你可以做到这一点。谢谢。 – MindGame 2012-04-10 16:57:52
这就是Literal的用途。无论你放进什么内容,它都会完全呈现在页面上的标记中。 – SouthShoreAK 2012-04-10 17:06:34
你到底想干什么?也许有其他的替代品 – MilkyWayJoe 2012-04-10 16:45:04