MVC @ Html.DropDownList Getting Error Using SelectList in ViewBag

I have a list that I created in the controller:

var PayList = new[] { new ListEntry { Id = 1, Name = "" }, new ListEntry { Id = 2, Name = "Yes" }, new ListEntry { Id = 3, Name = "No" } }; ViewBag.PayList = new SelectList(PayList, "Id", "Name"); 

In the view, I have the following:

  @Html.DropDownList("Pay", new SelectList(ViewBag.PayList,"Id","Name")) 

When I try to display it, it says the following: DataBinding: "System.Web.Mvc.SelectListItem" does not contain a property named "Id". I don’t know why this is not working.

Just like me, by default, select a value in the selection list. I like the default "Yes." I thought there was a way to do this from the controller.

+4
source share
3 answers

Just use

 @Html.DropDownList("Pay", ViewBag.PayList) 

In your opinion

+6
source

Your ViewBag.PayList already a SelectList type. I see no reason to create a SelectList twice, so it should not be simple:

 @Html.DropDownList("Pay", ViewBag.PayList) 

or

 @Html.DropDownList("Pay", ViewBag.PayList as SelectList) 

(I never use ViewBag, so I'm not sure if your version is strongly typed).

+8
source
 Try this Way: <div id="divmsg" style="color: green; font-weight: bold"> @ViewBag.Msg </div> <div id="divmsg2" style="color: red; font-weight: bold">@ViewBag.Msg2</div> <div id="quality" style="width: 80%;" align="center"> <input type="hidden" value="@ViewBag.ProjectId" id="ProjectId_" class="projectId"/> <input type="hidden" value="@ViewBag.ProjectName" id="ProjectName_" class="projectName"/> <input type="hidden" value="@ViewBag.UserId" class="UserId_" id="UserId"/> <input type="hidden" value="@ViewBag.TempId" class="TempId_" id="TempId" /> <div class="toggle-contents"> <table width="100%" id="qualitygoal"> <tr> <td class="even" align="left"> @Html.Label("Project Id") </td> <td class="even" align="left"> @ViewBag.ProjectId </td> </tr> <tr> <td class="projectname" align="left"> @Html.Label("Project Name") </td> <td class="projectname" align="left"> @ViewBag.ProjectName </td> </tr> </table> <table width="100%" id="qualitygoal1" class="tbl"> <tbody> <tr> <th align="center">DestinationColumns</th> <th align="center">SourceColumns</th> </tr> @foreach (var data in Model) { <tr> <td> <span class="spanStatus" id=" lblStatus_@data.TempId " destinationID = "@data.Destination">@data.Destinationvalue</span> <select class="status" id=" ddlStatus_@data.TempId "> <option value="0">--Select--</option> <option value="4">TICKET ID</option> <option value="5">DESCRIPTION</option> <option value="6">TICKET CATEGERY</option> <option value="7">SEVIORITY/PRIORITY</option> <option value="8">STATUS</option> <option value="9">CREATED DATE</option> <option value="10">CREATED BY</option> <option value="11">ASSIGNED TO</option> <option value="12">ASSIGNED DATE</option> <option value="13">REPSONSE ETA</option> <option value="14">RESOLUTION ETA</option> <option value="15">RESPONSE DATE</option> <option value="16">RESOLUTION DATE</option> <option value="17">ROOT CAUSE/MODULE</option> <option value="18">REOPEN FLAG (Y/N)</option> <option value="19">CLOSE DATE</option> <option value="20">SLA MET (Y/N)</option> </select> </td> <td> <span class="spanSource" id=" lblSource_@data.TempId " >@data.Source</span> <input class="Source" id=" txtSource_@data.TempId " type="text" value="@data.Source" maxlength="30" /> </td> <td> <table style="width: 50%;"> <tr> <td> <input class="edit" id=" Edit_@data.TempId " type="button" value="Edit" /> <input class="update" id=" Update_@data.TempId " type="button" value="Update" /> </td> <td class="Gcancle" id=" Canc_@data.TempId "> <input class="gridcancel" id=" Cancel_@data.TempId " type="button" value="Cancel" /> </td> </tr> </table> </td> <td> <table style="width: 50%;"> <tr> <td> <input class="delete" id=" Delete_@data.TempId " type="button" value="Delete" /> </td> </tr> </table> </td> </tr> } </tbody> </table> </div> <div align="right"> <input type="button" value="Add New Row" class="Add" /> <input type="button" value="Save" class="saved" /> <input type="button" value="Close" class="cancel" /> </div> </div> 
0
source

Source: https://habr.com/ru/post/1380659/


All Articles