【发布时间】:2011-08-17 13:32:03
【问题描述】:
我有一个带有 Razor 的 MVC3 应用程序,我创建了一个在内部呈现部分视图的视图。这是主视图的样子:
@{Html.RenderPartial("_SearchFilters", Model.SearchFilters);}
@* Other HTML elements *@
在 _SearchFilters 部分视图中我在 Form 元素中有以下 DropDownLists:
Choose Year
@Html.DropDownListFor(m => m.Year, new SelectList(Model.YearsList, "Value", "Text"), DateTime.Now.Year)
Choose Month
@Html.DropDownListFor(m => m.Month, new SelectList(Model.MonthsList, "Value", "Text"), Model.Month.ToString(), new { @disabled = "disabled" })
<input type="submit" value="Display" />
我希望在 提交 后两个 DropDownLists 在重新加载视图时保持其状态,即 用户选择的值过滤后的数据。
有什么方法可以不使用 AJAX 吗?
更新
ViewModel如下:
public class TableSearchFiltersViewModel
{
public bool YTM { get; set; }
public int? Month { get; set; }
public int? Year { get; set; }
public IEnumerable<SelectListItem> YearsList
{
get
{
return Enumerable.Range(2011, (DateTime.Now.Year - 2011 + 4)).Select(m => new SelectListItem
{
Value = m.ToString(),
Text = m.ToString(),
}).OrderBy(m => m.Value);
}
}
public IEnumerable<SelectListItem> MonthsList
{
get
{
return Enumerable.Empty<SelectListItem>();
}
}
}
谢谢
弗朗西斯科
【问题讨论】:
-
你为什么要在没有 AJAX 的情况下这样做?
标签: c# asp.net-mvc-3 razor partial-views