更新 .Net Codeback 中的 javascript 变量

Update javascript variable in .Net Codebehind

本文关键字:javascript 变量 中的 Codeback Net 更新      更新时间:2023-09-26

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

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

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

谢谢

试试这个方式:

语法

   public void RegisterOnSubmitStatement (
        Type type,
        string key,
        string script
)

用法

将此代码放在页面加载时会使脚本在每次提交单击时触发 Web表单。

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

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

然后在代码隐藏中,只需将变量赋值作为文本放入文字中即可。它将作为JavaScript代码的一部分呈现。