我有一个我正在使用的视图作为EditorTemplate。我想限制用户可以编辑的内容与他们可以插入的内容。我的EditorTemplate View被输入为SomeModel,我知道如果SomeModel.Id不是0,那意味着我们正在进行编辑,否则我们正在进行插入。我以为我能够做类似的事情:
@if (Model.Id == 0)
{
//show "insert-specific" UI
}
但出于某种原因,当我通过Model.
检查时,我总是得到0,空值,默认值等,而Html帮助方法很好地获取真值,例如:
@Html.TextBoxFor(model => model.Id)
同样,Model.Id
的值始终为0,即使@Html.TextBoxFor(model => model.Id)
显示其他值也是如此。
有没有更好的方法来实现我想要做的事情?
注意:不确定它是否重要,但我正在使用Telerik MVC Grid控件。它似乎不允许插入与编辑的不同视图。
答案 0 :(得分:1)
哟,
如果您正在使用Ajax绑定,则EditorTemplate会被序列化并发送到客户端,每次编辑记录或添加新记录时,都会使用不同的值重新填充它。 如果您使用的是ajax绑定,则可以使用OnEdit客户端事件并检查 e.mode 是编辑还是插入。然后,您可以使用JavaScript操作该编辑器。