【问题标题】:How can I use the same partial view for input and output?如何使用相同的局部视图进行输入和输出?
【发布时间】:2016-05-28 04:02:14
【问题描述】:

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

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

我想要的是能够在以下之间切换:

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

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

或者只读,如果这样更容易操作的话。

根据其他答案,我认为由于关注点分离,不鼓励这样做,但我讨厌在一个可以维护两个文件时必须维护两个文件的想法。

所以,问题是:完成此任务的正确语法是什么。

【问题讨论】:

    标签: c# razor


    【解决方案1】:

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

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

    【讨论】:

    • 我知道如何判断何时使用哪种条目,但我想知道我可以使用什么语法来完成这项工作。我编辑了问题以使其更清楚。
    • @wandercoder 看看这个:stackoverflow.com/questions/9086104/…
    • 美丽。该示例为我清除了它。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2021-07-10
    相关资源
    最近更新 更多