我有一個下拉框,其中包含用戶可供選擇的時間列表。我的問題是,在用戶選擇他們的選擇,然後點擊提交按鈕,頁面刷新,然後下拉框設置爲默認 - 我怎麼能讓用戶選擇留在下拉框,即使在頁面重新加載?我不知道我的代碼中哪部分是最需要的,我的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