Asp.NetMVC带有下拉列表和SelectListItem辅助我有一个类:publicclassAccountTransactionView{publicIEnumerableAccounts{get;放;}publicintSelectedAccountId{得到;放;这基本上是我当前的视图模型。返回所选项目的帐户和属性列表。在我的控制器中,我准备这样的数据:publicActionResultAccountTransaction(AccountTransactionViewmodel){Listaccounts=Services.AccountServices.GetAccounts(false);AccountTransactionViewv=newAccountTransactionView{Accounts=(fromainaccountsselectnewSelectListItem{Text=a.Description,Value=a.AccountId.ToString(),Selected=false}),};返回视图(模型);现在的问题是:我正在尝试在我的视图中构建Drop:我收到以下错误:键为“SelectedAccountId”的ViewData项目的类型为“System.Int32”,但必须为“IEnumerable”类型。为什么要求我退回整个商品清单?我只想要选中的值。我应该怎么办?您有一个视图模型,您的视图是强类型的=>使用强类型的帮助器:x.SelectedAccountId,newSelectList(Model.Accounts,"Value","Text"))%>另请注意,我使用SelectList作为第二个参数。在您的控制器操作中,您将返回作为参数传递的视图模型,而不是您在正确设置Accounts属性的操作中构建的视图模型,因此这可能会出现问题。我已经理清了下:publicActionResultAccountTransaction(){varaccounts=Services.AccountServices.GetAccounts(false);varviewModel=newAccountTransactionView{Accounts=accounts.Select(a=>newSelectListItem{Text=a.Description,Value=a.AccountId.ToString()})};返回视图(视图模型);}第1步:你的模型类publicclassRechargeMobileViewModel{publicstringCustomerFullName{get;放;}publicstringTelecomSubscriber{get;放;}publicintTotalAmount{得到;放;}publicstringMobileNumber{get;放;}publicintMonth{得到;放;}公共列表getAllDaysList{得到;放;}//定义您必须在下拉列表中显示的列表publicListgetAllWeekDaysList(){ListmyList=newList();vardata=new[]{newSelectListItem{Value="1",Text="Monday"},newSelectListItem{Value="2",Text="Tuesday"},newSelectListItem{Value="3",Text=“星期三”},新的SelectListItem{Value="4",Text="Thrusday"},新的SelectListItem{Value="5",Text="F星期日"},新的SelectListItem{Value="6",Text="Saturday"},newSelectListItem{Value="7",Text="Sunday"},};myList=data.ToList();returnmyList;}}第2步:调用此方法以填充控制器中的下拉命名空间;returnView(objModel);}}}第三步:按照以下方式填写下拉列表更多关于C#学习教程,希望大家多多关注—@modelMvcVariousApplication.Models.RechargeMobileViewModel@{ViewBag.Title="联系人";}@Html.LabelFor(模型=>model.CustomerFullName)@Html.TextBoxFor(model=>model.CustomerFullName)@Html.LabelFor(model=>model.MobileNumber)@Html.TextBoxFor(model=>model.MobileNumber)@Html.LabelFor(model=>model.TelecomSubscriber)@Html.TextBoxFor(model=>model.TelecomSubscriber)@Html.LabelFor(model=>model.TotalAmount)@Html.TextBoxFor(model=>model.TotalAmount)@Html.LabelFor(model=>model.Month)@Html.DropDownListFor(model=>model.Month,newSelectList(Model.getAllDaysList,"Value","Text"),"-SelectDay-")本文整理自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
