2011-06-15 43 views
1

我有局部视图用于编辑弹出对话框中的人员详细信息,但他们也希望具有“显示”模式,该模式禁用了所有可编辑文本框,dropdownlistbox和链接查看,有人可以告诉我,我可以做到这一点是多么容易(不使用javascript)用于显示和编辑的MVC相同视图

回答

0

你可以使用与条件相同的视图来禁用编辑器,但这很容易混乱。更好的方法是为可编辑视图创建一个单独的cshtml文件,并在对View或RenderPartial的调用中指定适当的视图名称。

+1

这意味着我必须创建完全相同的标记,只需要额外的CSS属性,如disabled =“disabled”或readonly =“true”,这就是我目前所做的。我问的原因是因为我最近收到了一个请求来改变这种观点(我们在应用中有很多)。我正在寻找更好的实施方法。 – Vincent 2011-06-15 06:44:04

+0

您应该为只读视图使用显示模板,并为可写视图(例如表单)使用编辑器模板。你不应该手动添加禁用的类(除非这是你之后的实际视觉效果) – RPM1984 2011-06-15 07:37:20

+0

这样做的方式看起来很糟糕,与可编辑的东西的文本框相比,只是文本的东西,你不能改变。如果这就是你的客户真正想要的东西,那么使用条件可能是合理的(尽管我会使用语法'class ='@(Model.IsEditable?“enabled”:“disabled”)''。即使这样,它可能会更好使用单独的模板 - 这不是重复的重复,并且当客户端意识到组合版本看起来有多糟糕时,它很容易改进。 – 2011-06-15 07:51:27

相关问题