JQuery函数在剃刀中动态命名

时间:2012-09-19 07:12:06

标签: jquery asp.net-mvc asp.net-mvc-3 razor

我在razor模板中的asp.net mvc中有一个函数。 我想动态命名我的函数。但我怎么能这样做? 这是我的功能:

function ipro-@count() {
                numpro-@count = numpro-@count + 1;
                document.getElementById("numpro-@count").innerHTML = numpro-@count;
            }

count是一个动态数字。它不适用于功能名称。我该如何解决?

2 个答案:

答案 0 :(得分:4)

如果这样做会发生什么,需要在变量名称周围添加parens

             function ipro@(count) () {
                numpro@(count) = numpro@(count) + 1;
                document.getElementById("numpro@(count)").innerHTML = numpro@(count);
            }

答案 1 :(得分:0)

您可以针对这种具体情况使用简单的解决方法(当javascript不是太大而且复杂时)

@{
    int count = 3;
}
@helper outputFunction(int count)
{
    @Html.Raw(string.Format("function ipro{0}() {{ numpro-{0} = numpro-{0} + 1; document.getElementById('numpro-{0}').innerHTML = numpro-{0}; }}", count));
}

<!DOCTYPE html>
<html>
<head>

    <title>@ViewBag.Title</title>
</head>
<body>
    <script>
        @outputFunction(count);
    </script>
</body>
</html>