2012-03-21 61 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