当从下拉菜单中进行选择时,我正在尝试将部分视图附加到“当前显示的页面”的末尾。
这是我认为的下拉列表:
<div>
@Html.DropDownListFor(x => x.DropDownInfo, Model.Info, "DefaultSelection")
@Html.ValidationMessageFor(model => model.Courses)
</div>
我在我的 Jquery 中最需要。我需要做什么才能附加控制器返回的 PartialView(粘贴在下面)?我当前的 Jquery:
$(document).ready(function() {
$("#DropDownInfo").change(function() {
var strSelected = "";
$("#DropDownInfo option:selected").each(function() {
strSelected += $(this)[0].value;
});
var url = "/Controller/PreFillMethod/?MethodString=" + strSelected;
$.post(url, function(data) {
//*****
// Assuming everything else is correct,
// what do I do here to have my partial view returned
// at the end of the currently displayed page?
//*****
});
});
});
这是我的控制器中回复 PartialView 的部分(我希望将下拉选择中的字符串传递到此控制器中,最终用于填写 PartialView 表单中的字段):
public PartialViewResult PreFillCourse(string selectedFromDropDown)
{
ViewBag.selectedString = selectedFromDropDown;
MyViewModel preFill = new MyViewModel
{
Title = selectedFromDropDown, // I am using this to pre-fill a field in a form
};
return PartialView("_PartialViewForm", preFill);
}
部分观点(在重要的情况下):
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>CourseTemplates</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Title)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Title)
@Html.ValidationMessageFor(model => model.Title)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
如果我完全错误地处理这种情况,我愿意接受建议。
我的目标是让用户从下拉菜单中选择一个“模板”,并让该模板的数据自动填充到下拉菜单下方的表单中。
我的 Jquery 非常粗糙 - 我使用这篇文章作为指南