如果,Razor都写法是@所有的输入都是HMTL编码输出,
如果想原码输出,用@Html.Raw,就可以了,但是,现在我有一个修改页面,
内面用的是@Html.TextBox,没想到的,@Html.TextBox也是编码输出,我的内容本身就是己经HMTL编码的了,他还编码输入,就双重编码了,这样显示的内面就是HMTL编码的内容,@Html.TextBox的输出如何取消HMTL编码啊只有这么多分了,

解决方案 »

  1.   

    输入利用TextBox没有问题,然而你可以控制所有的展示不是TextBox,也就是输出不使用TextBox很多时候信息的添加或者修改是一个页面,而页面预览或者页面信息展示页面确是另外一个页面.
      

  2.   

    值会在渲染之前自动编码的。这是mvc为了防止跨站攻击,<>&都被编码了貌似可以用MVCString()方法来搞定你的稳定。
      

  3.   

    没有用,MVCString()跟@Html.Raw一样,我想问的是,@Html.TextBox的输出如何取消HMTL编码啊,是@Html.TextBox
      

  4.   

    非要用TextBox吗?直接写一个Input在View里好了
      

  5.   

    或者给HtmlHelper写个扩展方法,返回MvcHtmlString类型,在返回值里用stringbuilder拼出input元素,记得在view里用using引用或修改web.config增加namespace,免得找不到自己的扩展方法