Выпадающий список MVC в Edit Action - PullRequest
0 голосов
/ 18 января 2010

Я запутался в создании DropdownList в MVC. давайте начнем с простого случая. В представлении адреса у меня есть текстовое поле для города и раскрывающийся список для штата. Адресная таблица моей модели, созданная Linq to SQL, имеет следующие свойства:

Public string City{get;set;}
Public string State{get;set;}

и еще одна таблица с состояниями. в моем контроллере я сделал следующий метод:

public static SelectList getLang(string index)
{

       using (namespace.DB db = new namespace.DB())
         {
            List<namespace.Model.tbl_State> state= (from S in db.tbl_State orderby   L.Name select L).ToList();
            SelectList sel = new SelectList(state, "ID", "Name", index);
            return sel;
        }
    }

и actionresult для редактирования выглядит так:

    public ActionResult Edit(int id)
    {
        using (namespace.DB db = new namespace.DB())
        {
            namespace.Model.tbl_Address add= db.tbl_Address.Single(T => T.ID == id);

            return View(add);
        }
    }

Теперь, как собрать все эти методы вместе. Я хотел бы, чтобы в моем представлении отображался город и штат в раскрывающемся списке с выбранным CA id. Любая помощь будет принята с благодарностью.

1 Ответ

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

Сначала я бы начал с чтения уроков или книг о MVC:

https://stackoverflow.com/questions/240905/best-asp-net-mvc-book

Вы должны создать модель представления (сначала прочитайте о моделях представления), которая может выглядеть следующим образом:

class AddressEditModel
{  
    tbl_Address Address;
    List<tbl_State> States;
}

Затем вы должны построить эту модель из Linq в SQL:

public AddressEditModel ConstructAddressEditModel(int addressId)
{
    var model = new AddressEditModel();
    using (namespace.DB db = new namespace.DB())
    {
         model.States = state= (from S in db.tbl_State orderby L.Name select s).ToList();
         model.Address = db.tbl_Address.Single(T => T.ID == addressId);
    }
}

Тогда ваш метод редактирования:

public ActionResult Edit(int id)
{
    var model = ConstructAddressEditModel(id);
    return View(model);
}

Затем объявите ваш взгляд как:

System.Web.Mvc.ViewPage<AddressEditModel>

и используйте Html.DropDown в своем представлении, используя Model.States.

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