c# - 为什么 HTML.TextArea 之前需要一个@?

标签 c# html asp.net-mvc razor

除非 @ 在 @Html 之前,否则下面的内容似乎不起作用。这是为什么?

@{
 if (DescriptionIsFieldReadOnly) {
                            Html.TextArea("description-edit", Model.Requisition.ReqHdr.Description, new { @Readonly = "readonly" });
                        }
                        else {
                            Html.TextArea("description-edit", Model.Requisition.ReqHdr.Description);
                        } 
}

最佳答案

Html.TextArea(...) 返回一个包含您想要的 HTML 代码的 IHtmlString

如果您将其作为普通函数调用,您实际上并未对返回值执行任何操作,因此什么也不会发生。

使用 @ 将其转换为 Razor 表达式,将其值打印到页面。

顺便说一句,那不是语句,所以它不应该有分号。

关于c# - 为什么 HTML.TextArea 之前需要一个@?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30449187/

相关文章:

asp.net-mvc - 将 WebAPI JWT 访问 token 作为加密的 FormsAuthenticationTicket 存储在 Response.Cookies(在 asp.net mvc 中)是否安全

c# - 从 MVC 项目中删除 Entity Framework 引用

c# - 如何在 C# 中访问 Outlook 电子邮件附件而不将其保存到新位置?

c# - 使 COM 互操作事件从界面可见

c# - 如何使用 Linq to XML 将 HTML 保存在 XML 文件中?

html - 将多个较小的单词与一个较大的单词对齐?

c# - ASP.NET MVC Core WebAPI 项目不返回 html

c# - 提高软件质量的最佳实践

c# - MvvmLight EventToCommand 和 WPFToolkit DataGrid 双击

jquery - 文本区域滚动条有问题吗?