如何使用jquery附加部分?Razor-asp.NETMVC-Jquery

如何使用jquery附加部分?Razor-asp.NETMVC-Jquery,jquery,asp.net-mvc,razor,Jquery,Asp.net Mvc,Razor,假设我想创建一个表单,允许您通过javascript动态添加元素。。。 例如,一个有许多任务的项目 $("#add_task").click(function () { $('#tasks').append('@Html.Raw(Html.Partial("_task_fields").ToHtmlString())'); }); 我似乎对这种方法有问题,因为javascript没有编码。。。 并且使用HttpUtility.JavaScriptStri

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

$("#add_task").click(function () {
            $('#tasks').append('@Html.Raw(Html.Partial("_task_fields").ToHtmlString())');
        });
我似乎对这种方法有问题,因为javascript没有编码。。。 并且使用HttpUtility.JavaScriptStringEncode为具有类“someClass”等属性的元素添加额外的引号

我的任务是这样的

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

任务
我只想让add_任务链接正常工作

请帮助。

看看jquery插件。对于这种情况,这是一种不同但更干净的方法


除了使用只使用jquery模板的方法外,如果需要,还可以将部分渲染到jquery模板块中,并以这种方式组合这两种技术

好的。你会这样做的,但没有什么不同。将操作写入控制器,而不是部分写入

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”。

hi Adrian的可能副本,我们决定在项目中使用jquery模板插件,并准备了一些。这不是讨论的地方,但我想知道性能和可伸缩性。你认为什么是正确的方法?@Nuri:我正在整个网站的当前项目(logmytime.de)中使用它,并且对结果非常满意。我只在每个网页上显示50个左右的jquery模板实例,但对于这样的Scenearios,可伸缩性从来都不是问题。感谢您提供的信息,我喜欢您的网站!看起来真不错!你确定这不会有同样的问题吗?是的。我实际上在我的一些页面上使用了它。但请别忘了,我的部分呼叫MyPartial_MyPartial应位于共享路径或主路径中。