ASP.NET C#使用ClientScript.RegisterStartupScript传递参数

14ifxucb  于 2023-08-08  发布在  .NET
关注(0)|答案(3)|浏览(157)

我有下面的代码,它应该在我的客户端脚本中调用一个名为ShowPopup的函数,但由于原因,当我调用这个函数时,什么也没有发生。

string pg = "Test";
  ClientScript.RegisterStartupScript(this.GetType(), "Popup", "ShowPopup(pg);", true);

字符串
如果我执行以下操作:

ClientScript.RegisterStartupScript(
                   this.GetType(), "Popup", "ShowPopup('Test');", true);


很好用。它会在弹出窗口中显示。我可能做错了什么。

6pp0gazn

6pp0gazn1#

问题是ShowPopup需要字符串值。

正确编码

string pg = "Test";
ClientScript.RegisterStartupScript(this.GetType(), "Popup",
   string.Format("ShowPopup('{0}');", pg), true);

字符串
关于C#代码将生成以下有效JavaScript -

<script>
   ShowPopup('Test');
</script>

错误码

ClientScript.RegisterStartupScript(this.GetType(), "Popup", 
   "ShowPopup(pg);", true);


注意上面的代码C#会生成下面的invalidJavaScript -

<script>
   ShowPopup(pg); // Invalid Javascript code
</script>

b91juud3

b91juud32#

如果使用了“更新配电盘”,则可以用途:

string pg = "Test";
    ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('"+pg+"');", true);

字符串
您可以使用的其他智能

string pg = "Test";
     ClientScript.RegisterStartupScript
                (GetType(),Guid.NewGuid().ToString(), "alert('"+pg+"');",true);


在你的情况下

string pg = "Test";
 ClientScript.RegisterStartupScript
            (GetType(),Guid.NewGuid().ToString(), "ShowPopup('"+pg+"');",true);

ct3nt3jp

ct3nt3jp3#

也可以使用String插值:

string pg = "Test";
ClientScript.RegisterStartupScript(this.GetType(), "Popup", $"ShowPopup('{pg}');", true);

字符串

相关问题