You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET MVC视图问题:条件判断后指定文本未在浏览器显示

解决ASP.NET MVC视图中不显示"yes"/"no"的问题

先拆解下你代码里的两个核心问题,咱们一步步解决:

问题1:未输出HtmlHelper方法的结果

在Razor视图里,调用Html.TextBox()这类方法时,必须加上@前缀才能把生成的内容输出到页面——因为这些方法返回的是MvcHtmlString,但Razor不会自动输出无前缀的方法调用结果,只会默默执行方法却不把内容写入响应流。

问题2:需求与实现不匹配

你的需求是显示**"yes"字符串**,但代码里用了Html.TextBox(),这会生成一个文本输入框,而不是直接显示文本。如果只是要展示文字,完全不需要用文本框控件。


针对你需求的正确实现

如果你只是想在列中显示"yes"或"no"纯文本,直接用Razor表达式输出即可:

<td>@(item.ProductsRequest != null ? "yes" : "no")</td>

如果你确实需要文本框(比如要绑定表单值)

如果你的真实需求是生成一个默认值为"yes"/"no"的文本输入框,那要给Html.TextBox()加上@来输出结果:

<td>
    @if (item.ProductsRequest != null) 
    { 
        @Html.TextBox("product_request", "yes") <!-- 第一个参数是控件name属性,第二个是默认显示值 -->
    } 
    else 
    { 
        @Html.TextBox("product_request", "no") 
    }
</td>

简单总结:Razor中要输出到页面的内容,必须用@标记——要么直接输出表达式结果,要么输出HtmlHelper方法的返回值。

内容的提问来源于stack exchange,提问作者Stefan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 11:12:27