当前位置:   article > 正文

关于动作器中返回的字符串在html页面中的展现效果_怎么把接口返回值的string用代码形式显示在页面上

怎么把接口返回值的string用代码形式显示在页面上

正常情况下,动作器中返回的字符串会在编码后再打印到html页面上,比如当动作器内容如下时:

  1. public ActionResult test()
  2. {
  3. string res = "<input type='text' />";
  4. return View((object)res);
  5. }

会在页面中打印内容:

这是由动作器自行编码的,是动作器的一种自动保护措施。

但根据实际情况,有时也会有需要取消这种保护措施的情况出现。若要取消这种保护措施,动作器内容应如下所示:

  1. public MvcHtmlString test()
  2. {
  3. string res = "<input type='text' />";
  4. return new MvcHtmlString(res);
  5. }

此时页面中打印的内容如下:

当遇到需要同时有编码与非编码部分时,可以使用编码方法对指定的字符串进行编码,此时动作器内容如下:

  1. public ActionResult test()
  2. {
  3. string res = "<input type='text' />";
  4. return View((object)res);
  5. }

编码字符串时需要扩展方法的辅助,这里定义扩展方法如下:

  1. namespace demo1.Infrastructure
  2. {
  3. public static class myExtend
  4. {
  5. public static MvcHtmlString MyEncode(this HtmlHelper html, string msg)
  6. {
  7. return new MvcHtmlString(html.Encode(msg)+msg);
  8. }
  9. }
  10. }

然后html页面的代码如下:

  1. @using demo1.Infrastructure
  2. @{
  3. Layout = null;
  4. }
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>test</title>
  10. </head>
  11. <body>
  12. <div>
  13. @Html.MyEncode((string)Model)
  14. </div>
  15. </body>
  16. </html>

最后的输出如下:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/93043
推荐阅读
相关标签
  

闽ICP备14008679号