C# 使用“将下拉选择值从视图发送到控制器”;DropDownListFor";在MVC中 无法将所选值从视图发送到控制器。我正在使用DropdownlistFor发送带有from标记的数据。
@使用(var form=Html.Bootstrap().Begin(新表单(“报告列表”、“报告”).Type(FormType.Vertical)、FormMethod(FormMethod.Post)、HtmlAttributes(新{@id=“reportForm”)、@data\u bv\u message=“此值无效”、@data\u bv\u feedbackicons\u valid=“fa-fa-check”、@data\u bv\u feedbackicons\u validating=“fa-fa-fa-fa-times”“fa刷新”,area=“Admin”}) {C# 使用“将下拉选择值从视图发送到控制器”;DropDownListFor";在MVC中 无法将所选值从视图发送到控制器。我正在使用DropdownlistFor发送带有from标记的数据。,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,@使用(var form=Html.Bootstrap().Begin(新表单(“报告列表”、“报告”).Type(FormType.Vertical)、FormMethod(FormMethod.Post)、HtmlAttributes(新{@id=“reportForm”)、@data\u bv\u message=“此值无效”、@data\u bv\u feedbackicons\u valid=“fa-fa-check”、@data\u bv\u feedbackicons\u vali
<div class="col-md-2">@Html.Label("Status:", new { @class = "" }) </div>
<div class="col-md-4">@Html.DropDownListFor(a => a.Status, new List<SelectListItem>
{ new SelectListItem(){ Text="NEW", Value = "NEW" },
new SelectListItem(){ Text="PAID", Value = "PAID" },
new SelectListItem(){ Text="PENDING", Value = "PENDING" },
new SelectListItem(){ Text="FAULT", Value = "FAULT" },
new SelectListItem(){ Text="PROCESS", Value = "PROCESS" }
}, "Select Status", new { @class = "form-control " })</div>
<div class="col-md-2"><button type="submit" class="btn btn-success">Submit</button> </div>
</div>
}
@Html.Label(“状态:”,新的{@class=”“})
@DropDownListFor(a=>a.状态,新列表
{new SelectListItem(){Text=“new”,Value=“new”},
新建SelectListItem(){Text=“PAID”,Value=“PAID”},
新建SelectListItem(){Text=“PENDING”,Value=“PENDING”},
新建SelectListItem(){Text=“FAULT”,Value=“FAULT”},
新建SelectListItem(){Text=“PROCESS”,Value=“PROCESS”}
},“选择状态”,新建{@class=“表单控制”})
提交
}
public ActionResult报告列表()
{
List reportList=新列表();
字符串过滤器StatusList=reportmodel.SelectedStatus;
List insuranceList=_insuranceDetailsService.GetAllInsurances().ToList();
//stroded过程调用
//List filterdata=_insuranceDetailsService.GetDatatableFilterbyStatus()。其中(a=>a.InsuranceStatus.Equals(“DropdownValue”)).ToList();
尝试
{
foreach(保险明细表中的当前项目)
{
ReportModel currentItemmodel=新的ReportModel();
currentItemmodel.InsuranceId=currentitem.InsuranceId;
currentItemmodel.EncodedInsuranceId=Encode(currentitem.InsuranceId.ToString());
currentItemmodel.PlateNumber=currentitem.PlateNumber;
currentItemmodel.ReceiptNumber=currentitem.ReceiptNumber;
currentItemmodel.VehicleType=currentitem.VehicleType;
currentItemmodel.CustomerName=currentitem.CustomerName;
currentItemmodel.InsurancePreiod=string.Concat(currentitem.PeriodStartDate,“-”,currentitem.PeriodEndDate);
currentItemmodel.UserName=currentitem.UserName;
currentItemmodel.BranchName=currentitem.BranchName;
currentItemmodel.TotalPremiumPrice=currentitem.TotalPremiumPrice;
currentItemmodel.InvoiceNumber=currentitem.InvoiceNumber;
currentItemmodel.InsuranceStatus=currentitem.InsuranceStatus;
currentItemmodel.UploadedImagePath=string.IsNullOrEmpty(currentitem.InvoiceImage)?“”:ImageBaseUrl+“ImageUploads/“+”OriginalSize/“+currentitem.InvoiceImage;
reportList.Add(currentItemmodel);
}
}
捕获(例外e)
{
string message=AppLogger.CreateMessage(e);
日志文件写入(消息);
}
TempData[“ReportList”]=ReportList;
返回视图(reportList);
}
DropdownList必须具有与您的型号相同的id属性。因此,请将“状态”更改为“SelectedStatus”,如下所示
<div class="col-md-2">@Html.Label("Status:", new { @class = "" }) </div>
<div class="col-md-4">@Html.DropDownListFor(a => a.Status, new List<SelectListItem>
{ new SelectListItem(){ Text="NEW", Value = "NEW" },
new SelectListItem(){ Text="PAID", Value = "PAID" },
new SelectListItem(){ Text="PENDING", Value = "PENDING" },
new SelectListItem(){ Text="FAULT", Value = "FAULT" },
new SelectListItem(){ Text="PROCESS", Value = "PROCESS" }
}, "Select Status", new { @class = "form-control " })</div>
<div class="col-md-2"><button type="submit" class="btn btn-success">Submit</button> </div>
</div>
}
@Html.DropDownListFor(model => model.SelectedStatus, new List<SelectListItem>
{ new SelectListItem(){ Text="NEW", Value = "NEW" },
new SelectListItem(){ Text="PAID", Value = "PAID" },
new SelectListItem(){ Text="PENDING", Value = "PENDING" },
new SelectListItem(){ Text="FAULT", Value = "FAULT" },
new SelectListItem(){ Text="PROCESS", Value = "PROCESS" }
}, "Select Status", new { @class = "form-control " })
@Html.DropDownListFor(model=>model.SelectedStatus,新列表
{new SelectListItem(){Text=“new”,Value=“new”},
新建SelectListItem(){Text=“PAID”,Value=“PAID”},
新建SelectListItem(){Text=“PENDING”,Value=“PENDING”},
新建SelectListItem(){Text=“FAULT”,Value=“FAULT”},
新建SelectListItem(){Text=“PROCESS”,Value=“PROCESS”}
},“选择状态”,新建{@class=“表单控制”})
DropdownList必须具有与模型中相同的id和name属性。因此,将“SelectedStatus”作为id和name属性添加到下拉列表中。我的模型具有:-公共字符串SelectedStatus{get;set;}公共列表筛选器StatusList{get;set;},当我在视图中添加SelectedStatus时,出现错误,内容不存在再次检查此问题时,我得到相同的问题:-列表不包含SelectedStatus的定义,在控制器或视图中出现错误的位置?我需要澄清您是提交列表还是仅提交ReportModel实例?请检查whet她reportModel对象是否具有空值,在操作公共ActionResult ReportList(reportModel reportModel)中,我在查看页面中出错。我提交的列表不是报表模型,但控制器中的操作不是针对列表的