выпадающий список в MVC 3 - PullRequest
       1

выпадающий список в MVC 3

0 голосов
/ 18 января 2012

Привет, друзья! Я использую выпадающий список в моем проекте MVC 3. Здесь пользователь выбирает один из вариантов и сохраняет его. И когда он / она снова посещает страницу, я должен сделать изначально сохраненное значение как выбранное значение. На самом деле я делаю это с пользовательским помощником HTML в соответствии с необходимостью. Но у меня проблемы с этим. Я делаю это как:

else if (question_type == 7)
        {
            EAI.DAL.EaiEntities entities = new DAL.EaiEntities();
            QuestionnaireRepository repository = new QuestionnaireRepository(entities);
            SelectList typesList = repository.PopDdlList(qid);                 


            output.Append(helper.Label(questiontext));
            if (answer == "")
            {
                output.Append(helper.DropDownList("ddl" + question_id, typesList, "-- select type----));

            }
            else
            {
                output.Append(helper.DropDownList("ddl" + question_id, typesList, answer));

            }


            return helper.Raw(output.ToString());
        }

На самом деле приведенный выше код отображает выбранное значение из базы данных, но фактически заменяет «- выберите тип ---». Итак, после сохранения один раз, если я захожу на ту же страницу и сохраняю страницу, я могу получить пустое значение в Formcollection.

Итак, пожалуйста, предложите соответствующий способ сделать это

1 Ответ

1 голос
/ 18 января 2012

Я обычно добавляю несколько свойств в мою модель:

int SelectedCategory { get; set; }

IEnumerable<SelectListItem> Categories { get; private set; }

и затем загружаю данные в конструктор моей модели:

ProductService productService = new ProductService();

this.Categories =
    productService.GetCategories()
        .Select(c => new SelectListItem() { Text = c.Name, Id = c.Id.ToString() });

this.Categories.InsertAt(0, new SelectListItem() { Text = "--- Please Select ---", value = "" });

, затем в моей разметке Razor сделайте что-то вроде:

@Html.DropDownListFor(m => m.SelectedCategory, Model.Categories)

Это должно автоматически подключиться стандартным способом MVC.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...