我有一个使用Razor的MVC3应用程序,并且我创建了一个内部呈现局部视图的视图。这是主视图的样子:在不使用AJAX的情况下重新加载ASP.NET MVC3部分视图
@{Html.RenderPartial("_SearchFilters", Model.SearchFilters);}
@* Other HTML elements *@
里面的_SearchFilters局部视图我有一个表单元素中下列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保持它们的状态,即用户选择的值,当View重新载入已过滤的数据时。
有没有办法做到这一点,而不使用AJAX?
UPDATE
视图模型如下:
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? – BentOnCoding 2011-05-12 02:39:00