更新.Net Code Behind中的javascript变量

时间:2012-04-10 16:40:02

标签: javascript asp.net .net

我正在尝试在回发后更新JavaScript变量。我在考虑使用ClientScript.RegisterStartupScript函数。它适用于初始页面加载,但不适用于回发。我在page_load函数中添加了以下行。我假设发生的事情是,如果在第二次无法再次添加密钥时添加密钥。我有一个母版页和内容页面。我是从内容页面调用的。

ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('Error !!!');</script>");

有没有办法从后端调用JavaScript函数?

由于

2 个答案:

答案 0 :(得分:1)

您可以在aspx页面的脚本块中放置一个asp:Literal。

然后在你的代码中,只需将变量赋值作为文本放入文字中。它将作为您的javascript代码的一部分呈现。

答案 1 :(得分:1)

尝试这种方式:

语法

   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.");
    }