我在MVC里面在控制器向前台传了我拼好的HTML代码的字符传 到前台发现< 变成了&lt: > 变成了&gt: 引号单引号全部变了 各位大牛 除了替换没有其他方法吗? 速度 

解决方案 »

  1.   

        /// <summary>
        /// 对从数据库中取出的字符串进行转换,转换后的字符串用Label显示
        /// </summary>
        /// <param name="sourcestr">从数据库中取出的字符串</param>
        /// <param name="isQOpt">是否是选项</param>
        /// <returns>转换后的字符串</returns>    public static string DBToHtmlFlagLabel(string sourcestr, bool isQOpt)
        {
            BasePage.logstart(log, "DBToHtmlFlagLabel:sourcestr=" + sourcestr + ":isQOpt=" + isQOpt.ToString());
            sourcestr = sourcestr.TrimEnd();
            sourcestr = sourcestr.Replace(" ", "&nbsp;");
            if (isQOpt == true)
                sourcestr = sourcestr.Replace("▲→◆", "<br />&nbsp;&nbsp;&nbsp;&nbsp;");
            else
            {
                sourcestr = sourcestr.Replace("▲→◆", "<br />");
            }
            BasePage.logend(log, "DBToHtmlFlagLabel:returnValue=" + sourcestr);
            return sourcestr;
        }
      

  2.   

    额       这不算编码问题.......   这是<  在HTML 里面 就是这个&lt:表示 
    好像有个属性 是按原样输出不被HTML 编译了
      

  3.   

    我要把它变回去 HTML代码 不能用正则表达式 替换
      

  4.   

     
    Server.HtmlEncode(字符串)  用这个看看
      

  5.   

    谢谢啊 但是
    我在前台 JAVASCRIPT 里面 MVC的VIEW 的前台操作
      

  6.   

    @(new HtmlString("<b>粗体</b>"))
      

  7.   

    在JAVASCRTIPT 只能通过替换
                  var reg1=/&lt;/g;
                var reg2=/&quot;/g;
                   var reg3=/&gt;/g;
                  var reg4=/&#39;/g;
                   var reg5=/&amp;nbsp;/g;
                   var HTMLInfo="@ViewData["table"]";
                  var aa= HTMLInfo.replace(reg1, "<").replace(reg2, '"').replace(reg3, ">").replace(reg4, "'").replace(reg5, "&nbsp;");
    既然是用viewdata 你直接在页面内  @MvcHtmlString.Create(ViewData["table"].ToString()) 求给分