Html 回发后将dropdownlist的选定值传递给控制器
回发后如何将下拉列表的选定值从视图传递到控制器。由于我是MVC体系结构的新手,任何帮助都将不胜感激。提前谢谢。 我需要根据下拉列表的值过滤数据。但当我移动到pagedlist的下一页时,所有下拉列表的值都设置为默认值 控制器Html 回发后将dropdownlist的选定值传递给控制器,html,asp.net-mvc-4,razor-2,pagedlist,Html,Asp.net Mvc 4,Razor 2,Pagedlist,回发后如何将下拉列表的选定值从视图传递到控制器。由于我是MVC体系结构的新手,任何帮助都将不胜感激。提前谢谢。 我需要根据下拉列表的值过滤数据。但当我移动到pagedlist的下一页时,所有下拉列表的值都设置为默认值 控制器 public ActionResult ViewDataOfDatabase(string sortorder, string currentFilter, string searchString, int? page,FormCollection collecti
public ActionResult ViewDataOfDatabase(string sortorder, string currentFilter, string searchString, int? page,FormCollection collection)
{
CCIRepository _repository = CCIRepository.CreateRepository();
AirtelManagementModel _Airtelmodel = new AirtelManagementModel();
IEnumerable<CityListClass> CityList = _repository.GetCities();
IEnumerable<SelectListItem> CityNames = from c in CityList
select new SelectListItem()
{
Value = c.CityName.ToString(),
Text = c.CityName.ToString(),
Selected = c.CityName == Request["CityNames"],
};
ViewBag.CityList = CityNames;
IEnumerable<clsYearOfDate> SelectList = GetYears();
//IEnumerable<MonthListClass> SelectMonthList = GetMonths(YearId);
IEnumerable<SelectListItem> Yearitems = (from v in SelectList
select new SelectListItem()
{
Value = v.YearSelectedId.ToString(),
Text = v.YearOfDate.ToString(),
Selected = v.YearOfDate == Request["Yearitems"],
});
ViewBag.SelectList = Yearitems;
int DateId=0;
string CityName = string.Empty;
try
{
int SelectedYear = Convert.ToInt16(collection["Yearitems"].ToString());
int SelectedMonth = Convert.ToInt16(collection["MonthItems"].ToString());
CityName = collection["CityNames"].ToString();
DateId = _repository.GetImportDateId(SelectedYear, SelectedMonth);
ViewBag.SelectedYear = SelectedYear;
ViewBag.SelectedMonth = SelectedMonth;
ViewBag.SelectedCity = CityName;
}
catch(NullReferenceException Ex)
{
Console.WriteLine(Ex);
}
//IEnumerable<SelectListItem> MonthItems = (from m in SelectMonthList
// select new SelectListItem()
// {
// Value = m.MonthSelectedId.ToString(),
// Text = m.MonthName,
// });
//ViewBag.SelectMonthList = MonthItems;
IEnumerable<SelectListItem> MonthItems = Enumerable.Empty<SelectListItem>();
ViewBag.SelectMonthList = MonthItems;
List<AirtelManagementModel> list = ViewDetails();
ViewBag.CurrentSort = sortorder;
ViewBag.PhoneSortParm = String.IsNullOrEmpty(sortorder) ? "Phone_desc" : "";
if (searchString != null )
{
page = 1;
}
else
{
searchString = currentFilter;
}
//if(searchString!=null)
//{
ViewBag.CurrentFilter = searchString;
var airteldetails = from _model in list
select _model;
if(!String.IsNullOrEmpty(searchString) && DateId!=0 && !String.IsNullOrEmpty(CityName))
{
airteldetails = _repository.FilterAirtelDetails(searchString, DateId, CityName);
int PageSize = 5;
int PageNumber = (page ?? 1);
return View(airteldetails.ToPagedList(PageNumber, PageSize));
}
//airteldetails=airteldetails.OrderByDescending(A=>A.AirtelNumber);
int pageSize = 5;
int pageNumber = (page ?? 1);
//return View(airteldetails.ToList());
return View(airteldetails.ToPagedList(pageNumber, pageSize));
}
public ActionResult ViewDataOfDatabase(字符串排序器、字符串currentFilter、字符串搜索字符串、int?页、FormCollection集合)
{
CCIRepository _repository=CCIRepository.CreateRepository();
AirtelManagementModel_Airtelmodel=新的AirtelManagementModel();
IEnumerable CityList=_repository.GetCities();
IEnumerable CityNames=来自城市列表中的c
选择新的SelectListItem()
{
Value=c.CityName.ToString(),
Text=c.CityName.ToString(),
已选择=c.CityName==请求[“CityNames”],
};
ViewBag.CityList=城市名称;
IEnumerable SelectList=GetYears();
//IEnumerable SelectMonthList=GetMonths(YearId);
IEnumerable Yearitems=(从SelectList中的v开始)
选择新的SelectListItem()
{
Value=v.YearSelectedId.ToString(),
Text=v.YearOfDate.ToString(),
所选日期=v.YearOfDate==请求[“Yearitems”],
});
ViewBag.SelectList=Yearitems;
int-DateId=0;
string CityName=string.Empty;
尝试
{
int SelectedYear=Convert.ToInt16(集合[“Yearitems”].ToString());
int SelectedMonth=Convert.ToInt16(集合[“MonthItems”].ToString());
CityName=collection[“CityNames”].ToString();
DateId=\u repository.GetImportDateId(SelectedYear,SelectedMonth);
ViewBag.SelectedYear=SelectedYear;
ViewBag.SelectedMonth=SelectedMonth;
ViewBag.SelectedCity=CityName;
}
捕获(NullReferenceException Ex)
{
控制台写入线(Ex);
}
//IEnumerable MonthItems=(从SelectMonthList中的m开始)
//选择新的SelectListItem()
// {
//Value=m.MonthSelectedId.ToString(),
//Text=m.MonthName,
// });
//ViewBag.SelectMonthList=MonthItems;
IEnumerable MonthItems=Enumerable.Empty();
ViewBag.SelectMonthList=MonthItems;
List=ViewDetails();
ViewBag.CurrentSort=排序器;
ViewBag.PhoneSortParam=String.IsNullOrEmpty(排序器)?“电话描述”:“;
if(searchString!=null)
{
page=1;
}
其他的
{
searchString=currentFilter;
}
//if(searchString!=null)
//{
ViewBag.CurrentFilter=搜索字符串;
var airteldetails=来自列表中的_模型
选择_模型;
如果(!String.IsNullOrEmpty(searchString)&&DateId!=0&&!String.IsNullOrEmpty(CityName))
{
airteldetails=\u repository.FilterAirtelDetails(searchString、DateId、CityName);
int PageSize=5;
整数页码=(第1页);
返回视图(airteldetails.ToPagedList(PageNumber,PageSize));
}
//airteldetails=airteldetails.OrderByDescending(A=>A.AirtelNumber);
int pageSize=5;
整数页码=(第1页);
//返回视图(airteldetails.ToList());
返回视图(airteldetails.ToPagedList(pageNumber,pageSize));
}
看法
AirtelDetails
@使用(Html.BeginForm(“ViewDataOfDatabase”、“AirtelManagement”、FormMethod.Post))
{
按电话号码搜索:@Html.TextBox(“搜索字符串”,ViewBag.CurrentFilter为字符串)
年份:@Html.DropDownList(“Yearitems”,(IEnumerable)ViewBag.SelectList,“选择年份”)
月份:@Html.DropDownList(“MonthItems”,(IEnumerable)ViewBag.SelectMonthList,“选择月份”)
City:@Html.DropDownList(“CityNames”,(IEnumerable)ViewBag.CityList,“选择城市”)
$(文档).ready(函数(){
$(“#年项目”)。更改(函数(){
//调试器;
//警报($(“#年项目>选项:选中”).attr(“值”);
$.ajax({
类型:“Post”,
url:'@url.Action(“GetMonths”,“AirtelManagement”),
数据:{YearId:$(“#Yearitems>选项:选中”).attr(“值”)},
数据类型:“Json”,
成功:功能(数据){
//调试器;
$(“#MonthItems”).html(“”);
$。每个(数据、功能(索引、项目){
$(“#MonthItems”).append(新选项(item.MonthName,item.MonthSelectedId));
});
},
错误:函数(){
警报(“选择年份”);
}
});
});
});
}
@Model.PageCount的@页(Model.PageCountUrl.Action(“ViewDataOfDatabase”,“AirtelManagement”,new{page,so
<h2 style="text-align:center">AirtelDetails</h2>
@using (Html.BeginForm("ViewDataOfDatabase", "AirtelManagement",FormMethod.Post))
{
<h3>Search by PhoneNumber:@Html.TextBox("SearchString",ViewBag.CurrentFilter as string)</h3>
<p><h3>Year:@Html.DropDownList("Yearitems",(IEnumerable<SelectListItem>)ViewBag.SelectList, "Select Year")</h3>
<h3>Month:@Html.DropDownList("MonthItems", (IEnumerable<SelectListItem>)ViewBag.SelectMonthList, "Select Month")</h3>
<h3>City: @Html.DropDownList("CityNames", (IEnumerable<SelectListItem>)ViewBag.CityList, "Select City")</h3></p>
<p><input type="submit" value="Search" /></p>
<script>
$(document).ready(function () {
$("#Yearitems").change(function () {
//debugger;
//alert($("#Yearitems>option:selected").attr("Value"));
$.ajax({
type: "Post",
url: '@Url.Action("GetMonths","AirtelManagement")',
data: { YearId: $("#Yearitems>option:selected").attr("Value") },
datatype: "Json",
success: function (data) {
//debugger;
$("#MonthItems").html("");
$.each(data, function (index, item) {
$("#MonthItems").append(new Option(item.MonthName, item.MonthSelectedId));
});
},
error: function () {
alert("Select Year");
}
});
});
});
</script>
}
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
@Html.PagedListPager(Model, page => Url.Action("ViewDataOfDatabase", "AirtelManagement", new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))