在EditorFor和DisplayFor之间切换 [英] Switch between EditorFor and DisplayFor
问题描述
我有一个局部视图,该视图被设置为显示数据库中记录的表格/网格-我可以轻松地获取它以显示该行的显示"或编辑器"模板,但是如何将行从displayFor
切换为editorFor
当我单击并编辑或保存链接吗?
I have a partial view which is setup as a table/grid showing records from a DB - I can easily get it to display my Display or Editor template for the row, but how can I switch the row from displayFor
to editorFor
when I click and edit or save link?
<div id="compQuestionListContainer">
<div class="divQuestionItems">
<div class="divQuestionItemsHeaderRow">
<div class="QuestionHeader">Question Type</div>
<div class="QuestionHeader question-name">Question Name</div>
<div class="QuestionHeader question-required">Required</div>
<div class="QuestionHeader question-group">Question Group</div>
<div class="QuestionHeader">Modified By</div>
<div class="QuestionHeader">Modified Date</div>
<div class="QuestionHeader question-edit">Edit</div>
<div class="QuestionHeader question-delete">Delete</div>
</div>
<div class="divOrderItemsBody">
@Html.EditorFor(m => m.CompetitionQuestionList)
@Html.DisplayFor(m => m.CompetitionQuestionList)
</div>
</div>
</div>
推荐答案
您可以在Razor中执行以下操作:
You can do things like this in Razor:
@{
if (someCondition)
{
Html.EditorFor(m => m.CompetitionQuestionList);
}
else
{
Html.DisplayFor(m => m.CompetitionQuestionList);
}
}
更新
如果您尝试根据用户操作从一个视图切换到另一个视图,则必须采取另一种方法.
Update
If you are trying to change from one view to another depending on user actions you will have to take another approach.
例如,您可以在视图中同时渲染两者:
For example, you can render both in the view:
<div id="editor" style="display:none;">
Html.EditorFor(m => m.CompetitionQuestionList)
</div>
<div id="display">
Html.DisplayFor(m => m.CompetitionQuestionList)
</div>
然后,在您的客户端代码中(假设您加载了jQuery),您可以执行以下操作:
And then, in your client code (assuming you load jQuery), you can do:
$("#editor").show();
$("#display").hide();
要从显示切换到编辑器.
这篇关于在EditorFor和DisplayFor之间切换的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!