【问题标题】:Jquery .append() & Html.HelperJquery .append() 和 Html.Helper
【发布时间】:2013-04-11 04:35:10
【问题描述】:

有没有办法将 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调用?

【问题讨论】:

  • 这是因为这是在客户端执行的,而不是在服务器中执行
  • 所以无法修复?
  • 我不了解asp.net,但我认为它有一个片段概念,您可以在其中创建一个html片段并将其返回给客户端

标签: html asp.net-mvc jquery append


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    可能是这样更好的串联(不确定,但您可以尝试):

    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>'); 
    }
    

    【讨论】:

      【解决方案3】:

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

      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>'); 
      }
      

      【讨论】:

      • 这对任何人有用吗?在 MVC 5 razor (cshtml) 上对我不起作用
      • 我用 MVC 5 试过了,似乎没有用。
      【解决方案4】:

      在 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>
        `);    
      }
      

      【讨论】:

        猜你喜欢
        • 2012-12-26
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 2019-02-27
        • 2010-11-14
        • 2012-11-19
        • 2010-12-02
        • 1970-01-01
        相关资源
        最近更新 更多