如何为输入和输出使用相同的局部视图?

时间:2016-05-27 19:43:18

标签: c# razor

我有一个部分视图,我用于用户输入。我想在结果页面上显示相同的局部视图,但我希望所有输入项都是只读或禁用的。

我知道我可以使用if-else语法,但我真的只想在项目上设置readonly或disabled标志,因此重复整个实体似乎很重要且重复。

我想要的是能够在:

之间切换
@Html.TextBoxFor(model => model.inputValue, new {disabled="disabled", @id="one"})

@Html.TextBoxFor(model => model.inputValue, new {@id="one"})

或readonly,如果这更容易操作。

基于其他答案,我认为由于担忧的分离而不鼓励这样做,但我讨厌在一个人做的时候必须维护两个文件的想法。

所以,问题是:用于实现此目的的正确语法是什么。

1 个答案:

答案 0 :(得分:2)

在视图中保留一个布尔ViewBag,并在从控制器渲染视图时进行设置。

渲染这些文本框时检查此ViewBag的值。