在 asp.net 中实现搜索 MVC 与 tinyMCE 编辑器发生冲突

implementing search in asp.net MVC makes conflict with tinyMCE editor

我实现了搜索表单,我可以在上面搜索一些问题以在 asp.net MVC 中查看答案,我的搜索功能完全正常,我使用 TinyMCE 编辑器来编辑我的问题。

这是我的模型:

  public class Question
    {

        public virtual int Id { get; set; }
        public virtual int CategoryId { get; set; }
        public virtual string Qu { get; set; }

        [AllowHtml]
        [UIHint("tinymce_full_compressed")]
        public virtual string Ans { get; set; }
        public virtual Category Category { get; set; }


    } 

当我在句子之间放置例如 enter 时,在我的编辑中,它会创建 </br> 标签并保存在我的数据库中。在文本框上搜索后,结果而不是呈现标签,它显示 </br> 标签。像这样 test<br />test 并在浏览器中显示它,而不是在没有 </br> 标记的两个不同行中显示两个 test 单词。似乎无法翻译编辑器添加到字符串中的标签。

。此图像显示发生了什么

这是我的控制器:

  public ActionResult Help(string searchString)
    {
        searchString = Request["search"];
        var repsearch = new RepositorySearch();
        List<Question> question = new List<Question>();
        if (!string.IsNullOrEmpty(searchString))
        {
            question = repsearch.GetAllQuestion().Where(n => n.Qu.ToLower().Contains(searchString.ToLower())).ToList();
        }
        return Request.IsAjaxRequest() ? (ActionResult)PartialView("_QuestionPartial", question) : View(question);
    }

我认为问题与此有关QuestionPartial 这是我的 QuestionPartial

  @using iranhoidaytour_com.Models
  @if (Model.Count > 0)
{
<ul id="hs">
    @foreach (Question q in Model)
    {
        <li class="">
            <h5 class="quos">@q.Qu</h5>
            <p class="answ">@q.Ans</p>
        </li>

    }
  </ul>
 }

这是我的 TinyMCE 设置:

      <script>
   tinymce.init({
       selector: '#mytextarea',
  height: 500,
  theme: 'modern',
  force_br_newlines: false,
  force_p_newlines: false,
  forced_root_block: '',
  plugins: [
    'advlist autolink lists link image charmap print preview hr anchor pagebreak',
    'searchreplace wordcount visualblocks visualchars code fullscreen',
    'insertdatetime media nonbreaking save table contextmenu directionality',
    'emoticons template paste textcolor colorpicker textpattern imagetools codesample toc'
  ],
  toolbar1: 'undo redo | insert | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image',
  toolbar2: 'print preview media | forecolor backcolor emoticons | codesample',
  image_advtab: true,
  templates: [
    { title: 'Test template 1', content: 'Test 1' },
    { title: 'Test template 2', content: 'Test 2' }
  ],
  content_css: [
    '//fonts.googleapis.com/css?family=Lato:300,300i,400,400i',
    '//www.tinymce.com/css/codepen.min.css'
  ]
 });

    </script>

这是我的观点

<div class="row" id="searchhelp">

    <div class="container">
        @using (Html.BeginForm("Help", "Home", FormMethod.Get, new { @id = "FormSearch", @class = "form-group container" }))
        {

            @Html.TextBox("search", null, new { @class = "form-control col-md-10", @placeholder = "What Is Your Question?Enter Keyword!" })
    <button type="submit" class="left " id="btn-search">
        <i class="fa fa-search" aria-hidden="true"></i>
    </button>
        }
    </div>

</div>




<div id="helpicons" class="container">


    <div id="tagsname">

        <div id="intagsname">
            @Html.Partial("_QuestionPartial", Model)
            <div class="ajaxloader1">
                <img class=""  src="~/Content/img/ajax-loader (4).gif" alt="Alternate Text" />
            </div>
        </div>
    </div>



</div>

感谢任何帮助。谢谢

这是您必须对未 HTML 编码的 return 标记执行的操作。:

<h5 class="quos">@q.Qu</h5>
   <p class="answ">@Html.Raw(q.Ans)</p>