我尝试这次在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服务器代码中的变量,但是现在我尝试一些简单的事情。
答案 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;