2012-03-21 102 views
0

我無法找到這個簡單問題的一個樣本。 我有2個表書籍和作者對過AuthorID外鍵。 我需要能夠與作者和作家與外鍵關係被插入添加一本書。MVC 3剃鬚刀下拉外鍵和新項目

是否有可能從創建視圖和控制器的MVC?

+1

其合理.. – Rafay 2012-03-21 07:40:30

回答

0

這些機型:

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>(); 
     } 
+0

問題是關於插入新的書籍。我無法僅將新書插入現有作者。我用EditorFor替換了創建視圖中的DropDown,但插入時無法獲取AuthorID。 – user3145 2012-03-21 09:08:16