Asp.net 使局部视图可重用
假设我有一个显示应用程序下拉列表的局部视图。在下拉列表中选择项目时,它会呈现另一个局部视图 此下拉列表存在于应用程序中的几个位置,但在选择应用程序时,需要在每个页面上呈现不同的局部视图。有没有一种简单的方法使下拉列表可重复使用?ie我需要根据呈现局部视图的页面设置不同的数据url 局部视图:Asp.net 使局部视图可重用,asp.net,asp.net-mvc-3,razor,partial-views,Asp.net,Asp.net Mvc 3,Razor,Partial Views,假设我有一个显示应用程序下拉列表的局部视图。在下拉列表中选择项目时,它会呈现另一个局部视图 此下拉列表存在于应用程序中的几个位置,但在选择应用程序时,需要在每个页面上呈现不同的局部视图。有没有一种简单的方法使下拉列表可重复使用?ie我需要根据呈现局部视图的页面设置不同的数据url 局部视图: <script type="text/javascript"> $(function () { $('#ApplicationsDropdownList').chang
<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>
可以将包含数据url的字符串属性添加到用于局部视图的模型中
因此,除了包含
应用程序的模型
之外,它还将包含公共字符串DataUrl{get;set;}
。也许我误解了什么,但是为什么你不能让一个包含你的数据的字符串成为你局部视图模型的另一部分?@AFinkelstein我不认为你误解了……我想这可能是我一直在寻找的简单而明显的答案哈哈,很高兴我能帮上忙。我会回答的。
public ActionResult ViewRolesTableForApplication(string applicationId)
{
...
return View("_RolesTableForApplicationPartial");
}