2013-08-19 45 views
0

我想将两个模型传递给视图。 并填写这些表的两个字段。在mvc中迁移两个模型

它正确吗?

// public ActionResult checkout(string usernam) 
    //{ 
     // ViewBag.username = usernam; 
     //using( var db=new myProjectContext()) 
     //{ 
     // var tuple = new Tuple<tbl_Order, tbl_purchase>(new tbl_Order(),new tbl_purchase()); 

     // return View(tuple); 
    // } 
    // } 



    [HttpGet] 
    public ActionResult checkout(string usernam) 
    { 
     ViewBag.username = usernam; 

     var FeacherToTwoModel = new ViewModelX() ; 

     return View(FeacherToTwoModel); 

    } 


    [HttpPost] 
    public ActionResult checkout(ViewModelX model) 
    { 


     if (ModelState.IsValid) 
     { 


     UsersClass.InsertInOrderAndBasket(model.tbl_order.id, model.tbl_ order.id_Type, model.tbl_ order.username,model.tbl_basket.username, model.tbl_basket.id_order); 
     } 
     else 
     { 

     } 
     return View(); 

    } 

并鉴于:

// @model Tuple<myProject.Models.tbl_Order, myProject.Models.tbl_purchase> 
    //<label class="checkbox payment-method inline"> 
    // @Html.CheckBoxFor(tuple => tuple.Item1.TypeCheck)remember me</label> 
    // . 
    // .//other fields 
    // . 


     . 
     . 
     . 
     <div id="collapseFour" class="accordion-body collapse"> 
     <div class="accordion-inner"> 
     @model MyProject.Models.ViewModelX 
     <p>please select a style</p> 
     <label class="checkbox payment-method inline"> 

     @Html.CheckBoxFor(m => m. )remember me </label> 
    <label class="checkbox payment-method inline"> 
    @Html.CheckBoxFor(m => m.) 
    online 
    </label> 
         <form class="form-inline"> 
          <input class="input-block span4" placeholder="Enter your coupon code here" type="text" id="couponcode"> 
          <button type="submit" class="btn btn-general">register</button> 
         </form> 
        </div> 
       </div> 
     . 
     . 
     . 

          <tbody> 
          @model IEnumerable<MyProject.Models.vw_basket> 
           @foreach (var item in Model) 
           { 
            <tr> 
             <td class="image"><a href='../Kala/[email protected]_kala'> 
              <img '@item.comment' alt='@item.name_product' src="~/Content/Media/Images/product/@MyProject.Models.ProductClass.GetPicById_Product(int.Parse(item.id_Product.ToString()))" width="100"></a></td> 
             <td class="product"><a href='../Kala/[email protected]_ Product ' title='@item.comment'>@item.name_ Product </a> </td> 
             <td class="stock">@item.number</td> 
             <td class="price"><s></s> <b>@item.cost </b></td> 
             <td class="price"><b>@(item.number*item.cost) </b></td> 
            </tr> 
           } 
           <tr> 

           </tr> 
          </tbody> 
          . 
          . 
          . 

但剂量不能识别的Item1上述(tuple.Item1.TypeCheck) ,当我发送迁移模型来查看和填充它,将tbl_Order和tbl_purchase填?

+0

按照惯例C#方法名应该大写。 – asymptoticFault

+0

-1:用于标记垃圾邮件 –

回答

0

只需创建一个两种类型的视图模型。

public class ViewModelX 
{ 
    public myProject.Models.tbl_Order Order { get; set; } 
    public myProject.Models.tbl_purchase Purchase { get; set; } 
} 

然后在视图中使用该视图模型。

@model ViewModelX 
<label class="checkbox payment-method inline"> 
@Html.CheckBoxFor(m => m.Order.TypeCheck)remember me</label> 
+0

我做到了。但它无法识别m => m.Order.TypeCheck中的Order。 – niknaz

+0

我正在更新我的问题。并根据你的建议提出新的建议。 – niknaz

+0

您是否创建了上述视图模型并将视图的模型类型更改为该视图模型? – asymptoticFault