asp.net不会反复调用方法

时间:2015-06-25 07:55:00

标签: asp.net-mvc

Asp.net不是重复调用方法(方法TableAdapterExtensions.Increment())。视图的方法调用。这是javascript的一部分

     function SetCountSize() {
    var CountSizes = $('#CountSizes').val();
    if (CountSizes != "") {
        $("[code]").each(function(indx, element) {
            element.remove();
        });
        for(var i=0;i<CountSizes;i++)
        $("#InsertSide").before('@Html.Side(TableAdapterExtensions.Increment())');
    }
}

方法TableAdapterExtensions.Increment()

  public static int Increment()
    {


        int j= (int)cache.Get("increment", null);
        cache.Set("increment", ++j, null, null);
        int h = j;
        return j;
    }

1 个答案:

答案 0 :(得分:1)

Razor代码在发送到视图之前在服务器上进行解析。您的@Html.Side(TableAdapterExtensions.Increment()助手被调用一次(javascript循环尚不存在)并呈现其输出。生成视图后,您的脚本将显示为

for(var i=0;i<CountSizes;i++)
    $("#InsertSide").before(1); // assuming j=1
}

所以当调用SetCountSize()函数时,它只会重复相同的值