我在razor模板中的asp.net mvc中有一个函数。 我想动态命名我的函数。但我怎么能这样做? 这是我的功能:
function ipro-@count() {
numpro-@count = numpro-@count + 1;
document.getElementById("numpro-@count").innerHTML = numpro-@count;
}
count是一个动态数字。它不适用于功能名称。我该如何解决?
答案 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>