在EditorFor和DisplayFor之间切换

时间:2014-02-16 22:57:53

标签: asp.net-mvc razor

我有一个局部视图,它被设置为显示来自数据库的记录的表格/网格 - 我可以轻松地显示该行的显示或编辑器模板,但是如何从{{1}切换行当我点击并编辑或保存链接时,到displayFor

editorFor

1 个答案:

答案 0 :(得分:5)

你可以在Razor中做这样的事情:

@{
   if (someCondition)
   {
      Html.EditorFor(m => m.CompetitionQuestionList);
   }
   else
   {
      Html.DisplayFor(m => m.CompetitionQuestionList);
   }
}

更新

如果您尝试根据用户操作从一个视图更改为另一个视图,则必须采用其他方法。

例如,您可以在视图中渲染两者:

<div id="editor" style="display:none;">
    Html.EditorFor(m => m.CompetitionQuestionList)
</div>
<div id="display">
    Html.DisplayFor(m => m.CompetitionQuestionList)
</div>

然后,在您的客户端代码中(假设您加载了jQuery),您可以执行以下操作:

$("#editor").show();
$("#display").hide();

显示切换到编辑器