我有一个下拉框,其中包含用户可供选择的时间列表。我的问题是,在用户选择他们的选择,然后点击提交按钮,页面刷新,然后下拉框设置为默认 - 我怎么能让用户选择留在下拉框,即使在页面重新加载?我不知道我的代码中哪部分是最需要的,我的Get和Post很长 - 但是如果有一个通用示例可以帮助。页面刷新后在下拉框中保留选定的项目
代码控制器:
这里是我的名单之一,我加载到下拉框:
IQueryable<User> users = _userRepository.FindAllForOffice(_currentUser.OfficeId);
userViewModel.Users = users.ToSelectList("UserId", "FullName",
userViewModel.UserId.ToString());
foreach (SelectListItem view in userViewModel.Users)
{
if (!viewData.ContainsKey(view.Text))
viewData.Add(view.Text, view.Value + "|user");
}
这是增加实际的下拉列表:
userViewModel.ViewData = viewData.ToSelectList("Value", "Key",
userViewModel.Value);
return View("UserSummary", userViewModel);
我的ASPX .CS页面我有以下内容:
Page_Load
string viewType = null;
if(!String.IsNullOrEmpty(Request.QueryString["viewType"]))
{
viewType = Request.QueryString["viewType"];
}
if(!IsPostBack)
{ if (viewType == "user")
{
viewParams.Add("ViewName", "User Report");
var reportDataSource =
_userService.GetUsersReportData(beginDate, endDate, id);
reportViewer.Initialize("UserIndividual.rdlc",
new List<ReportDataSource> {reportDataSource}, viewParams);
}
我没加所有的初始化所有元素 - 没想到它真的需要针对这种情况
感谢
您是使用'SelectListItem'来填充下拉菜单,还是自己手动构建?请提供代码示例以更好地给您回复。 – Tejs 2011-05-13 13:36:25
@Tejs - 是的,我正在使用SelectListItem,并在上面添加了一些代码。谢谢! – Masriyah 2011-05-13 13:49:13
这几乎看起来不像ASP.NET MVC ...在你看来,你是在调用'Html.DropDownList'还是你自己的代码?我想看看。 – Tejs 2011-05-13 13:51:47