繁体   English   中英

如何使用jQuery追加局部变量? 剃刀-ASP.NET MVC-jQuery

[英]How to append partials using jquery? Razor - asp.net mvc - Jquery

假设我想创建一个表单,该表单允许您通过javascript动态添加元素...例如,一个有很多任务的项目...

$("#add_task").click(function () {
            $('#tasks').append('@Html.Raw(Html.Partial("_task_fields").ToHtmlString())');
        });

我似乎在这种方法上遇到问题,导致未对javascript进行编码...,并使用HttpUtility.JavaScriptStringEncode向具有类“ someClass”等属性的元素添加了额外的引号。

我的task_fields部分是这样的

<tr>
     <td>
         Task
     </td>
     <td>
        <input type="text" name="task[name]" />
     </td>
</tr>

我只希望add_task链接正常工作。

请帮忙。

好。 您将执行此操作,但几乎没有其他方法。 将动作写入控制器,而不是部分动作。

public class HomeController : Controller
{
        public ActionResult MyPartial(/*some parameters*/)
        {
            object someData = foo(/*some parameters*/);
            return PartialView("_MyPartial", someData);
        }
}

**And call action with Ajax.**

$("#add_task").click(function () {
$('#taskItem').load(@Url.Content("~/home/MyPartial"));
....
})

当然,您可以在加载“ taskItem”后添加到“ task”。

看看jquery的jquery模板插件。 在这种情况下,这是另一种方法,但IMO更加清洁。

除了使用仅使用jquery模板的方法之外,您还可以将部分渲染到jquery模板块中,并根据需要以这种方式组合这两种技术。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM