2

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

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

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

谢谢

4

2 回答 2

1

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

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

于 2012-04-10T16:46:12.860 回答
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.");
    }
于 2012-04-10T16:47:31.007 回答