DropDownList в MVC? - PullRequest
       16

DropDownList в MVC?

0 голосов
/ 01 февраля 2010

У меня в приложении есть раскрывающийся список, который я связал с записями базы данных. но в любой форме редактирования я хочу установить выбранный индекс из выпадающего списка, как мне это сделать, я вставил свой код здесь.

Код для привязки выпадающего списка

public IList GetFeedbackList()
{
  int feedbackId = 0;
  string feedbackName = string.Empty;

  using (var db = new brandconnectionsEntities())
  {
    return (IList )(from s in db.BC_FeedbackBy
                      select new
                      {

                         feedbackId =s.FeedbackById ,
                         feedbackName=s.FeedbackBy  ,
                      })
                  .ToList ();
  }
}

//Code for returning the list

IList allfeedbacks = _dropdownProvider.GetFeedbackList();

ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName");

//In the View Page
<%=Html.DropDownList("feedback_for", ViewData["feedback_for"] as SelectList, "--Select--", new { @class = "inputtext1" })%>

Скажите, пожалуйста, как мне установить выбранный индекс из базы данных

Спасибо Ritz

Ответы [ 3 ]

0 голосов
/ 01 февраля 2010

В конструкторе для вашего списка выбора вы можете указать выбранный элемент ....

ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName", 
                allfeedbacks.FirstOrDefault(f => f.FeedbackById == {ID of selected record})); 
0 голосов
/ 01 февраля 2010

Передать список элементов SelectListItems представлению. У SelectListItem выбрано свойство.

 IEnumerable<SelectListItem> itemList =
                from item in Items
                select new SelectListItem
                {
                    Text = item.Name,
                    Value = item.Key,
                    Selected = ( item.Key == "TheKeyYouWantToSet")
                };
0 голосов
/ 01 февраля 2010
ViewData["feedback_for"] = new SelectList(allfeedbacks, "feedbackId", "feedbackName", selectedvalue);

Как минимум в MVC2.

У меня была проблема, которая исчезла, когда я дал выпадающему списку то же имя, что и ключ. То есть:

<%=Html.DropDownList("feedbackId", ViewData["feedback_for"] as SelectList, "--Select--", new { @class = "inputtext1" })%>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...