Бритва MVC 3 DropDown для внешних ключей и новых предметов - PullRequest
0 голосов
/ 21 марта 2012

Я не могу найти образец с этой простой проблемой.У меня есть 2 таблицы Книги и Авторы с внешним ключом на AuthorID.Мне нужно иметь возможность добавить книгу с автором, и этот автор должен быть вставлен с отношением внешнего ключа.

Возможно ли это из представления создания и контроллера в MVC?

1 Ответ

0 голосов
/ 21 марта 2012

Это модели:

   namespace CiksAyna.Data.Model
    {
        [TableName("tbl_book")]
        [PrimaryKey("book_id", autoIncrement = true)]
        public class Book
        {
            [Column("book_id")]
            public int BookId { get; set; }

            [Column("author_id")]
            public int AuthorId { get; set; }
        }
    }

    namespace CiksAyna.Data.Model
    {
        [TableName("tbl_author")]
        [PrimaryKey("author_id", autoIncrement = true)]
        public class Author
        {
            [Column("author_id")]
            public int AuthorId { get; set; }

            [Column("author_name")]
            public int AuthorName { get; set; }

        }
    }

На странице просмотра

@model CiksAyna.Data.Model.Book


@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Books</legend>
        <div class="editor-field">
            @Html.DropDownListFor(model => model.AuthorId, new SelectList(ViewBag.Authors, "AuthorId", "AuthorName"))
            @Html.ValidationMessageFor(model => model.AuthorId)
        </div>
        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

В контроллере

    public  ActionResult Create()
    {
        ViewBag.Authors = GetAllAuthors();

        return View();
    }

   public List<Author> GetAllAuthors()
        {
            return Db.From("tbl_author").ToList<Author>();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...