4

有没有办法将 html.helper 放在 .append() 函数中。

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 调用?

4

4 回答 4

1

如果您的代码在剃刀视图中,您可以将剃刀代码放在括号中,如下所示:

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>'); 
}
于 2013-04-18T08:02:48.047 回答
1

在 MVC 5 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>
  `);    
}
于 2021-10-25T13:45:01.560 回答
0

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

$("#Resultaatsgebied").html(html);
于 2013-04-18T07:10:25.097 回答
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>'); 
}
于 2013-04-18T07:30:06.960 回答