【发布时间】:2019-04-01 15:36:27
【问题描述】:
无法将选定的值从视图发送到控制器。我正在使用 DropdownlistFor 发送带有 From Tag 的数据。
@using (var form = Html.Bootstrap().Begin(new Form("ReportList", "Report").Type(FormType.Vertical).FormMethod(FormMethod.Post).HtmlAttributes(new { @id = "reportForm", @data_bv_message = "这个值无效", @data_bv_feedbackicons_valid = "fa fa-check", @data_bv_feedbackicons_invalid = "fa fa-times", @data_bv_feedbackicons_validating = "fa fa-refresh", area = "Admin" }))) {
<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>
}
public ActionResult ReportList()
{
List<ReportModel> reportList = new List<ReportModel>();
string FilterStatusList = reportmodel.SelectedStatus;
List<InsuranceDetails> insuranceList = _insuranceDetailsService.GetAllInsurances().ToList();
//Stroed Procedure calling
// List<InsuranceDetails> filterdata = _insuranceDetailsService.GetDatatableFilterbyStatus().Where(a => a.InsuranceStatus.Equals("DropdownValue")).ToList();
try
{
foreach (InsuranceDetails currentitem in insuranceList)
{
ReportModel currentItemmodel = new 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);
}
}
catch (Exception e)
{
string message = AppLogger.CreateMessage(e);
AppLogger.LogFileWrite(message);
}
TempData["ReportList"] = reportList;
return View(reportList);
}
【问题讨论】:
-
DropdownList 必须具有模型中的 id 和 name 属性。因此,将“SelectedStatus”作为 id 和 name 属性添加到您的下拉列表中。
-
我的模型有:- public string SelectedStatus { get;放; } public List
FilterStatusList { get;放; },当我在视图中添加 SelectedStatus 时,出现错误,内容不存在
标签: c# asp.net-mvc entity-framework