我在MVC项目中有以下视图页面
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ControlLabel)
</td>
<td>
@Html.DisplayFor(modelItem => item.ControlType)
</td>
<td>
@Html.DisplayFor(modelItem => item.ControlDatatype)
</td>
<td>
@Html.DisplayFor(modelItem => item.MasterModule.ModuleName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Form.FormName)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.ControlID }) |
@Html.ActionLink("Details", "Details", new { id = item.ControlID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.ControlID })
</td>
</tr>
}
我想在我的javascript函数中访问ControlType,我可以这样做吗?如果是,那么请指导我
答案 0 :(得分:1)
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ControlLabel)
</td>
<td>
@Html.DisplayFor(modelItem => item.ControlType)
</td>
<td>
@Html.DisplayFor(modelItem => item.ControlDatatype)
</td>
<td>
@Html.DisplayFor(modelItem => item.MasterModule.ModuleName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Form.FormName)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.ControlID }) |
@Html.ActionLink("Details", "Details", new { id = item.ControlID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.ControlID })
</td>
</tr>
if (item.ControlType == "blah")
{
<script type="text/javascript">
alert("a");
</script>
}
}
答案 1 :(得分:0)
当然,通过渲染。您可以在客户端javascript中呈现任何内容,例如:
<script>
var controlType = "@(Model[0].ControlType)";
</script>
或者喜欢:
<a href="#" onclick="doSomethingFIrst(@(Model[0].ControlType))">
这样的事情;将0替换为所需模型集合中的索引。这样做很好但是你必须小心,因为你在这里渲染,所以它必须是客户端javascript(原始类型)或序列化数据(使用JSON.NET或类似的东西)可用的东西。