0

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

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

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

4

2 回答 2

4

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

             function ipro@(count) () {
                numpro@(count) = numpro@(count) + 1;
                document.getElementById("numpro@(count)").innerHTML = numpro@(count);
            }
于 2012-09-19T07:28:41.580 回答
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>
于 2012-09-19T07:38:30.140 回答