我有一个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);
}
答案 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();" />
如果您有任何疑问,请与我们联系。