假设我有部分视图呈现应用程序的下拉列表。在下拉列表中选择项目时,它会呈现另一个局部视图。
此下拉列表存在于应用程序的一些位置,但在每个页面上,在选择应用程序时需要呈现不同的局部视图。是否有一种简单的方法可以使下拉列表重复使用?即我需要根据部分视图呈现的页面设置不同的data_url。
部分视图:
<script type="text/javascript">
$(function () {
$('#ApplicationsDropdownList').change(function () {
var url = $(this).data('url');
var applicationId = $(this).val();
$('#RolesForApplication').load(url, { applicationId: applicationId})
});
});
</script>
<div>
<label for='ApplicationsDropdownList'>Application:</label>
@Html.DropDownListFor(
x => x.SelectedApplicationId,
new SelectList(Model.Applications, "Value", "Text"),
"-- Select Application --",
new
{
id = "ApplicationsDropdownList",
data_url = Url.Action("ViewRolesTableForApplication", "Index")
}
)
</div>
控制器:
public ActionResult ViewRolesTableForApplication(string applicationId)
{
...
return View("_RolesTableForApplicationPartial");
}
答案 0 :(得分:1)
您可以将包含data_url的字符串属性添加到用于部分视图的模型中。
因此,除了包含Applications
的模型之外,它还将包含public string DataUrl { get; set; }
。