将jQuery.html与回车符一起使用

将jQuery.html与回车符一起使用,jquery,asp.net-mvc,razor,Jquery,Asp.net Mvc,Razor,我正在做一个MVC项目。我有一个容器div,我想在其中添加一个局部视图。我得到一个错误,因为我的部分视图的html有回车符 JavaScript: $("#containerOptions").html('@{Html.RenderPartial("_DropDownOptions", Model);}'); 局部视图: <div id="divOptions"> <label>I would like to browse by:</label>

我正在做一个MVC项目。我有一个容器div,我想在其中添加一个局部视图。我得到一个错误,因为我的部分视图的html有回车符

JavaScript:

$("#containerOptions").html('@{Html.RenderPartial("_DropDownOptions", Model);}');
局部视图:

<div id="divOptions">
   <label>I would like to browse by:</label>
   @using (var dd = Html.Bootstrap().Begin(new DropDown("Select Option").Class("dropDownElement").Id("dropDownOption")))
   {
      @dd.Header("Otpions");
      @dd.ActionLink("City", "#").Class("dropDownElement");
      @dd.ActionLink("Zip", "#").Class("dropDownElement");
      @dd.ActionLink("County", "#").Class("dropDownElement");
   }                                                                                                                                                             
</div>

不要将HTML字符串常量注入Javascript代码,而是将视图HTML作为HTML注入页面上的隐藏元素,并引用:

<script id="template" type="text/template">
     @Html.Partial("_DropDownOptions", Model)
</script>

这使您具有更好的可读性和灵活性。字符串中的HTML通常是一个“坏”主意。

不要将HTML字符串常量注入Javascript代码,而是将视图HTML作为HTML注入页面上的隐藏元素,并引用:

<script id="template" type="text/template">
     @Html.Partial("_DropDownOptions", Model)
</script>


这使您具有更好的可读性和灵活性。字符串中的HTML通常是一个“坏”主意。

Javascript不接受多行字符串。你需要摆脱你的新台词,或者删除它。嗯。。。。这就是我的问题所问的如何做。。。我试着替换新行字符,但要么做得不对,要么就是在这种情况下不起作用。也许你应该给我们看看你的regexp?如果您的regexp错误,我可以提供帮助,但ASP.net/razor不是我的专长。我帮不了什么忙。编辑以显示我尝试过的替换。不要将HTML注入字符串常量。这有很多问题(正如您所发现的)。尝试下面的解决方案。Javascript不接受多行字符串。你需要摆脱你的新台词,或者删除它。嗯。。。。这就是我的问题所问的如何做。。。我试着替换新行字符,但要么做得不对,要么就是在这种情况下不起作用。也许你应该给我们看看你的regexp?如果您的regexp错误,我可以提供帮助,但ASP.net/razor不是我的专长。我帮不了什么忙。编辑以显示我尝试过的替换。不要将HTML注入字符串常量。这有很多问题(正如您所发现的)。试试下面的解决方案。哇,非常好的解决方案。这正是我想要的。谢谢,没问题。我对HTML模板使用了与字符串中的HTML相同的技术。OId答案比HTML更容易阅读,但对我帮助很大!谢谢@N:这不是答案的时代。。。重要的是它所包含的内容:)有些技术可以延续多年。上周我自己又用了这个。Thanks@GoneCoding这不是事实吗!;)哇,非常好的解决方案。这正是我想要的。谢谢,没问题。我对HTML模板使用了与字符串中的HTML相同的技术。OId答案比HTML更容易阅读,但对我帮助很大!谢谢@N:这不是答案的时代。。。重要的是它所包含的内容:)有些技术可以延续多年。上周我自己又用了这个。Thanks@GoneCoding这不是事实吗!;)
<script id="template" type="text/template">
     @Html.Partial("_DropDownOptions", Model)
</script>
// This reparents the elements
$("#containerOptions").append( $('#template').children() );
// Slightly slower, but leaves the original intact
$("#containerOptions").html( $('#template').html() );