2013-04-18 31 views
2

有没有什么办法可以将.append()函数中的html.helper。Jquery .append()&Html.Helper

success: function (html) { $("#Resultaatsgebied").append(' <li>@Html.TextBoxFor(item => Model.RG1)<ul id="Concretisering" class="subList"><li>@Html.TextBoxFor(item => Model.RG1sub1)</li></ul>@Html.ActionLink("+", "index", null, new { id = "addConcretisering" })</li>'); } 

这个工作,但只是作为一个字符串,而不是控制

编辑:

这工作了,但会产生谁是ActionLink的没有。 我在我的视图中有相同的actionlink默认值,并且在那里有效。 但是对于生成的,我认为他只是不执行ajax调用?

+1

这是因为这是在客户端执行,而不是在服务器 – 2013-04-18 07:07:54

+0

所以它不能被修复? – 2013-04-18 07:09:28

+0

我不知道关于asp.net,但我认为它有一个片段的概念,你可以创建一个html片段并将其返回给客户端 – 2013-04-18 07:16:03

回答

2

如果你的代码是在Razor视图,你可以把进入括号内你的剃须刀代码是这样的:

success: function (html) { 
    $("#Resultaatsgebied").append(' <li>@(Html.TextBoxFor(item => Model.RG1))<ul id="Concretisering" class="subList"><li>@(Html.TextBoxFor(item => Model.RG1sub1))</li></ul>@(Html.ActionLink("+", "index", null, new { id = "addConcretisering" }))</li>'); 
} 
+0

为任何人做过这项工作? MVC 5剃须刀(cshtml)不适用于我 – 2016-07-07 20:45:07

0

我想你不能在纯Javascript中做到这一点。你为什么不把AJAX的返回数据设置为HTML,你可以将它设置为你想要的任何div。例如,在你的情况:

$("#Resultaatsgebied").html(html); 
0

可能是较好的拼接像这样(不知道,但你可以尝试):

success: function (html) { 
    $("#Resultaatsgebied").append(
      '<li>' + @Html.TextBoxFor(item => Model.RG1) + 
      '<ul id="Concretisering" class="subList"><li>' + 
      @Html.TextBoxFor(item => Model.RG1sub1) + 
      '</li></ul>' + 
      @Html.ActionLink("+", "index", null, new { id = "addConcretisering" }) + 
      '</li>'); 
}