单击按钮多次加载部分视图

问题描述:

背景:我有2个实体,课程和模块。一门课程可以有很多模块。在更新/添加模块的页面上,它基本上是一个更新页面,其中每个模块都有一个以折叠方式呈现的部分页面。见截图:单击按钮多次加载部分视图

enter image description here

我有这样的填充现有的模块:

@foreach (var module in Model.Modules) 
{ 
    Html.RenderPartial("~/Views/Module/_Update.cshtml", (RocketLabs.Models.Module)module); 
} 

如何添加部分每一次渲染(新型号)添加模块被点击?

任何意见,将不胜感激。谢谢!

我建议你看看Steven Sanderson的Editing a Variable Length List文章,他在这里阐述了如何使用AJAX请求到服务器端部分来动态添加新行。这里的想法是订阅添加按钮的点击事件并触发对控制器操作的AJAX请求,该操作将返回包含要编辑的空白行的新部分。

如果你想要一个纯粹的客户端解决方案,他还写了an article,其中knockoutjs可以实现同样的效果,例如没有任何AJAX请求将新条目添加到列表中。