【问题标题】:How to change the content of ViewResult如何更改 ViewResult 的内容
【发布时间】:2013-02-03 23:46:26
【问题描述】:
bool isChecked = false;
<input type="checkbox" name="x" checked="@isChecked" />

在 MVC 4 中,上述代码将生成为

<input type="checkbox" name="x" />

但是在MVC 3中,需要这样写:

bool isChecked = false;
@if(isChecked)
{
   <input type="checkbox" name="x" checked="checked" /> 
}
else
{
    <input type="checkbox" name="x" /> 
}

如果我们是微软开发者,需要修改哪些程序集,如何修改? 如何自定义升级代码? 请帮帮我,谢谢!

【问题讨论】:

    标签: asp.net asp.net-mvc-3 razor viewresult


    【解决方案1】:

    说实话,我真的不明白这些代码块之后的问题,但我可以说您可以在 ASP.NET MVC3 的视图中使用内联条件。比如这样的事情:

    bool isChecked = false;
    <input type="checkbox" name="x" @(isChecked ? "checked=checked" : "") />
    

    它更短,它会产生这样的代码:

    <input type="checkbox" name="x">
    

    顺便说一句,有一个辅助方法Html.CheckBox 可以在您的视图中创建复选框,在第二个参数中您可以指示是否要检查它:

    @{bool isChecked = false;}    
    @Html.CheckBox("x", isChecked)
    

    这将渲染这个:

    <input id="x" type="checkbox" value="true" name="x">
    <input type="hidden" value="false" name="x">
    

    自己试试吧。

    【讨论】:

    • 谢谢,但是我想要一个类似官方的解决方案。
    • 官方解决方案是什么意思?使用 Html.CheckBox 辅助方法或内联条件的“非官方”是什么?使用辅助方法是最简单的方法。
    • 因为我想读取一个cshtml的内容来匹配一些东西。比如为每个输入框添加一个“class”属性。
    • @LooseLive 请更新您的问题,提供有关您想要做的所有事情的信息。
    • @LooseLive,如果你需要帮助,你必须至少半路见人。在这种情况下,您要求 Konrad 读懂您的想法。当我得到帮助时,即使这个人错过了我的意图,我也很感激有人试图帮助我。
    猜你喜欢
    • 1970-01-01
    • 2010-12-27
    • 2021-08-02
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 2012-10-06
    • 2015-12-31
    相关资源
    最近更新 更多