我一直在想为什么我的函数中不能提醒一个简单的字符串。这是我的代码:
<script>
function getData(str) {
alert(str);
}
</script>
//This is the code in the body,
我只想打印一个简单的awe来测试onClick
是否能识别我在名称中传递的值;但是每当onClick
方法发生时,web只会提醒一个空字符串。
@foreach (var item in Model) {
var name = "awe";
<tr>
<td></td>
<td><a href="#" onclick="getData(name);">@Html.DisplayFor(modelItem => item.DiscountDescs)</a></td>
<td>@Html.DisplayFor(modelItem => item.DiscountForm)</td>
<td>@Html.DisplayFor(modelItem => item.DiscountType)</td>
<td>@Html.DisplayFor(modelItem => item.DiscountMode)</td>
<td>@Html.DisplayFor(modelItem => item.DiscountValue)</td>
<td>@Html.DisplayFor(modelItem => item.IsActive)</td>
<td>@Html.DisplayFor(modelItem => item.IsScheme)</td>
</tr>
}
更改此项:
<a href="#" onclick="getData(name);">
至:
<a href="#" onclick="getData('@name');">
name在此上下文中不算什么,您必须为c#变量放置@
。考虑到当我们需要写c#代码时,我们用前导@
符号写它:
例如:
@foreach (var item in Model)
{
var name ="awe";
<tr>
<td>@name</td>
</tr>
}
如果您打算将var name = "awe";
作为JavaScript变量包括在内,则需要将其放入<script>
元素中:
<script>
var name = "awe";
</script>