簡體   English   中英

從javascript重新初始化c#變量

[英]initialize again c# variable from javascript

我有一個在aspx頁中聲明的ac#變量,並希望在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);
}

另一種方法是使用隱藏字段而不是使用變量。

 <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;

}

在服務器端:

int val = int.Parse(hdn.Value);

是的,您可以在.ASPX頁中的變量后面初始化代碼。 也可以在.ASPX頁面中使用write FOR循環。

變量后面的代碼必須是您的類的公共變量和成員變量:

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();" />

請讓我知道,如果你有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM