加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – MvcHtmlString.Create()和Html.Raw()之间的区别

发布时间:2020-12-15 18:31:11 所属栏目:asp.Net 来源:网络整理
导读:我正在创建一个MVC项目。使用MVC 4和剃刀。在构建一些页面后,我在想:有什么区别? MvcHtmlString.Create() 和 Html.Raw() 如果你能帮我在这里了解,那会很好的 提前致谢! 解决方法 这是一个很好的机会来看看ASP.NET( http://aspnetwebstack.codeplex.com)
我正在创建一个MVC项目。使用MVC 4和剃刀。在构建一些页面后,我在想:有什么区别?
MvcHtmlString.Create()

Html.Raw()

如果你能帮我在这里了解,那会很好的

提前致谢!

解决方法

这是一个很好的机会来看看ASP.NET( http://aspnetwebstack.codeplex.com)可用的??源代码。

看看HtmlHelper.cs,这是Html.Raw()的代码:

public IHtmlString Raw(string value)
{
    return new HtmlString(value);
}

public IHtmlString Raw(object value)
{
    return new HtmlString(value == null ? null : value.ToString());
}

这是MvcHtmlString类的代码:

namespace System.Web.Mvc
{
    public sealed class MvcHtmlString : HtmlString
    {
        [SuppressMessage("Microsoft.Security","CA2104:DoNotDeclareReadOnlyMutableReferenceTypes",Justification = "MvcHtmlString is immutable")]
        public static readonly MvcHtmlString Empty = Create(String.Empty);

        private readonly string _value;

        public MvcHtmlString(string value)
            : base(value ?? String.Empty)
        {
            _value = value ?? String.Empty;
        }

        public static MvcHtmlString Create(string value)
        {
            return new MvcHtmlString(value);
        }

        public static bool IsNullOrEmpty(MvcHtmlString value)
        {
            return (value == null || value._value.Length == 0);
        }
    }
}

最显着的区别是Html.Raw()接受任何对象,而MvcHtmlString.Create()只接受字符串。此外,Html.Raw()返回一个接口,而Create方法返回一个MvcHtmlString对象。最后,创建处理为null。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读