【发布时间】:2023-03-10 04:05:02
【问题描述】:
我有以下表格数据的编辑器模板作为 MyProjectViewModel.cshtml
<div>
<div>
@Html.CheckBoxFor(model => model.Selected)
</div>
<div>
for (int i = 1; i < @Model.TypeList.Count; i++)
{
<p id="@Model.TypeList[i].ID" >@Model.TypeList[i].Name</p>
}
</div>
@Html.HiddenFor(model => model.ID)
@Html.HiddenFor(model => model.Name)
</div>
我还有另一个视图,它用于发布所选项目,其中包含以下语句来呈现编辑器模板。
<div id="loadDynamic">
@Html.EditorFor(model => model.NewItem)
</div>
如果我发帖,我就能获得选定的项目。
但是现在我遇到了一个问题,因为这些数据必须在单击按钮时动态呈现。 Onload 我将填充前 10 个项目并使用编辑器模板显示。
但是我被困住了,如何使用 Ajax 获取接下来的 10 个数据并将其附加为上述编辑器模板的一部分。
我创建了以下 Action 和 Ajax,但它似乎不是正确的。
行动:
public ActionResult InfinateScroll(string lastID, string prjID)
{
//Querying DB to get List<Model>
//Not sure how to get the Editor Template here
// Tried with following, though it is not the one I needed
return Json(PartialView("~/Views/MyView/EditorTemplates/MyProjectViewModel.cshtml", model[0]));
}
阿贾克斯:
$a.ajax({
type: "POST",
url: '@Url.Action("InfinateScroll", "Project")',
data: values,
traditional: true,
dataType: 'html',
cache: false,
success: function (data) {
$("#loadDynamic").append(data);
$("#loadingDiv").hide();
},
});
即使我能够附加在发布时获得先前选择的项目和新项目的可能性有多大。请指导我。
【问题讨论】:
标签: c# ajax asp.net-mvc editorfor