在javascript中显示asp net变量

时间:2014-10-14 09:01:05

标签: javascript c# asp.net

我尝试这次在Javascript函数中显示来自我的ASP.net代码C#的变量。这是我尝试显示的C#变量:

protected static int cpt_test = 0;

这是我班级的一个属性,静态意味着我可以在我所做的每一项功能中改变它的价值(不要问更多,它的工作原理如下:p)。

最后这是我的Javascript代码:

Button b = new Button();
b.ID = "btn_test";
b.Text = "test";
b.OnClientClick = "function (s, e) { alert (<%=cpt_test%>); }";

当我编译代码时,它给了我一个错误。我试图将<%=cpt_test%>括在引号中,但它给了我字符串&#34;&lt;%= cpt_test%&gt;&#34;而不是&#34; 0&#34;。

我怎样才能在javascript中执行翻译asp变量?我的最终目标是修改我的asp服务器代码中的变量,但是现在我尝试一些简单的事情。

4 个答案:

答案 0 :(得分:4)

您的javascript代码看起来像C#代码隐藏。假设是这种情况,您需要将其更正为:

Button b = new Button();
b.ID = "btn_test";
b.Text = "test";
b.OnClientClick = string.Format("function (s, e) {{ alert ({0}); }}", cpt_test);

答案 1 :(得分:2)

Button b = new Button();
b.ID = "btn_test";
b.Text = "test";
b.OnClientClick = "function (s, e) { alert ("+cpt_test+"); }";

答案 2 :(得分:1)

您需要在生成的JavaScript中实际嵌入该值,如下所示:

b.OnClientClick = "function (s, e) { alert ('" + cpt_test + "'); }";

这是因为将在浏览器中执行的客户端JavaScript无法访问服务器端ASP.NET代码或其变量。因此,如果您需要JavaScript中的ASP.NET变量值,则必须生成包含该值的JavaScript。

答案 3 :(得分:-4)

公开

 public static int cpt_test = 0;