从javascript再次初始化c#变量

时间:2015-04-04 16:12:21

标签: javascript c# asp.net

我有一个c#变量,它在aspx页面中声明并想再次初始化 它在for(;;)循环中。 循环执行正确,但我的c#变量没有再次初始化。 我在做什么!!

 for (var j = 2; j < '<%=menu[i].Length%>'; j++) {
                                var flag = <%=j++%>
                                alert(flag);
                            }

但在下面的代码中可能

for (var j = 2; j < '<%=menu[i].Length%>'; j++) {                               
                                <%j++;%>
                                <%j++;%>
                                var flag = <%=j%>
                                alert(flag);
}

2 个答案:

答案 0 :(得分:0)

替代方法是使用隐藏字段而不是使用变量。

 <asp:HiddenField runat="server" ID="hdn" />

var myVal = document.getElementById("<%= hdn.ClientID %>").value;
for (var j = 2; j < '<%=menu[i].Length%>'; j++)     {                               
    myVal++;
    document.getElementById("<%= hdn.ClientID %>").value = myVal;

}

在服务器端:

答案 1 :(得分:0)

是的,您可以在.ASPX页面中初始化变量后面的代码。也可以在FOR页面中使用写.ASPX循环。

代码隐藏变量必须是公开的,并且是您班级的成员变量:

public partial class _Default : System.Web.UI.Page
{
     public int i = 0;

     protected void Page_Load(object sender, EventArgs e)
     {

     }
}

Javascript功能:

function increaseVariable() {
        <% for (int j = 2; j < menu[i].Length; j++)
           {
            %>
        var flag = <%=i++%>; 
            alert(flag);
        <%}%>
    }

您可以在onclick事件中测试您的功能以添加以下输入按钮并调用上述功能:

<input type="button" value="Increase" onclick="increaseVariable();" />

如果您有任何疑问,请与我们联系。