- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
documentation对于 MvcHtmlString
并不是很有启发性:
Represents an HTML-encoded string that should not be encoded again.
我不清楚这到底意味着什么。似乎某些 HTML 帮助器方法返回一个 MvcHtmlString
,但我在网上看到的几个自定义帮助器示例只返回一个常规字符串。
问题:
什么是MvcHtmlString
?
什么时候应该选择 MvcHtmlString
而不是 string
,反之亦然?为什么?
最佳答案
ASP.NET 4 引入了新的代码块语法 <%: %>
.本质上,<%: foo %>
转换为 <%= HttpUtility.HtmlEncode(foo) %>
.该团队正在努力让开发人员使用 <%: %>
而不是 <%= %>
尽可能防止 XSS。
但是,这会引入一个问题,即如果代码块已经对其结果进行编码,则 <%: %>
语法将重新编码它。这是通过引入 IHtmlString 接口(interface)(.NET 4 中的新接口(interface))解决的。如果 <%: foo() %>
中的 foo()返回一个 IHtmlString,<%: %>
语法不会对其重新编码。
MVC 2 的助手返回 MvcHtmlString,它在 ASP.NET 4 上实现接口(interface) IHtmlString。因此,当开发人员使用 <%: Html.*() %>
在 ASP.NET 4 中,结果不会被双重编码。
编辑:
这种新语法的直接好处是您的 View 更清晰一些。例如,您可以编写 <%: ViewData["anything"] %>
而不是 <%= Html.Encode(ViewData["anything"]) %>
.
关于c# - 什么是 MvcHtmlString 以及何时应该使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2293357/
我正在尝试使用 MvcHtmlString.Create 创建 JavaScript 变量。但是输出仍在编码中。 var geocode_jsonresult = @MvcHtmlString.Cre
我已经创建了自己的 Html Helper,它将红色星号添加到任何必填字段。 它成功地与两者一起工作 @Html.myLabelFor(model => model.Description) //an
我写了一个 HtmlHelper 扩展方法,它读取 CSS 文件的内容并将其包装到一个 中。标签: public static IHtmlString EmbedCss(this HtmlHelpe
documentation对于 MvcHtmlString 并不是很有启发性: Represents an HTML-encoded string that should not be encoded
我有一个看起来像这样的字符串:Foo's Bazz 我正在使用自定义 HtmlHelper 在 div 元素内呈现此文本: public static MvcHtmlString DisplayWit
我在我的项目中派生了 mvc4 MultiSelectList 类来实现 ToMvcHtmlString 方法。如何从我的 MultiSelectList 实例中获取纯 html? public Mv
我正在编写一个生成 JavaScript 代码并发送 Razor View 的方法。但是 razor view 根据其 head 对其进行编码。代码如下。 这是我的方法体,返回一个 mvchtmlst
我正在查看 MvcHtmlString 及其基类 HtmlString 的源代码,它们似乎都是字符串的无用包装器。 我记得有一次我做过这个练习并看到了好处,但现在想不起来了。当时我花了很多时间研究 M
我将 MvcHtmlString 作为我 View 的模型。我需要将此字符串呈现为 HTML。目前我尝试这样做: @Model.ToHtmlString() 但它在我的页面上给了我纯文字。我知道这应该
我从MVC 1到MVC 2 converted my project,Visual Studio 2008给我以下错误: Error 1 'System.Web.Mvc.MvcHtmlStri
HtmlString 与 MvcHtmlString 这两者之间有什么区别,或者什么时候更喜欢其中一个? 编辑: 与 HtmlString 相比,MvcHtmlString 更受青睐的是 MvcHtm
与此相关question我在 ASP.NET MVC 项目中遇到了 XSS 问题,并且对 MvcHtmlSTRing.ToHtmlString() 方法感到困惑。来自 documentation “返
我想更改 DisplayFor 输出(格式化字符串),但输出字符串有一个 & 符号。如何处理 MvcHtmlString 以不转义 & 符号? 这是 cshtml 文件中的代码: @{ str
我正在尝试使用出色的 PagedList.Mvc Visual Studio 2015 RC 中的分页库,但从我的角度来看我得到了这个异常: The type 'MvcHtmlString' is d
我有一个包含 MvcHtmlString 类型变量的页面类。 using System; using System.Collections.Generic; using System.Linq; us
我一定是漏掉了什么,因为this doc 说,MvcHtmlString.Create("someStringHere")返回 html 编码的字符串,但如果我有类似 MvcHtmlString.Cr
是否可以将 css 类注入(inject)到封装在 MvcHtmlString 中的 HTML 元素中? ? 作为我正在构建的框架的一部分,我的任务是为表单元素(TextBox、TextBoxFor<
由于在 MSDN 中找到了此信息,我对如何连接 MvcHtmlString 实例有一些疑问。 : MvcHtmlString Class Represents an HTML-encoded stri
我刚开始使用 RazorEngine,但在使用静态辅助方法时遇到了麻烦。它只是为模板生成一个 MvcHtmlString/IHtmlString。当调用 Razor.Parse(...) 我得到 Ra
我正在将 ASP.NET MVC 应用程序转换为 ASP.NET MVC 2 4.0,并收到此错误: Operator '+' cannot be applied to operands of typ
我是一名优秀的程序员,十分优秀!