0

我的部分视图中有两个下拉列表。我想填满它们。当然来自不同的表。所以在我看来,我必须使用两种不同的模型。我是通过 viewbag 做到的。如下所示:

我的课:

         public class HelperClass

        {

       public static List<tbl_TypeOfSend> GetTypSend()
        { 
        using(var db=new ProjectContext())
        {
            var Lst = db. tbl_TypeOfSend.ToList();
            return Lst;
        }


    }
    public static List<tbl_TypOfPaye> GetTypPay()
    {
        using (var db = new ProjectContext())
        {
            var Lst = db. tbl_TypOfPaye.ToList();
            return 
        }
        }



        }

我的控制器:

       public ActionResult MyAction()
        {
        ViewBag. TypSend = HelperClass.GetTypSend ();
        ViewBag. GetTypPay = HelperClass.GetTypPay ();
        return PartialView();
        }

鉴于:我想要一些类似下面的东西。我知道它不起作用。怎么能做到。

              @model List<Project.Models. tbl_TypeOfSend >

                        <select  id="id" class="span5">
                            <option>select type send</option>
                           @foreach (var item in ViewBag.TypSend)
                            {

                            <option  value="@item.id"> @item.TypesendField </option>
                            }

                        </select>
                     .
                     .
                     .
                     .


                      @model List<Project.Models. tbl_TypOfPaye >
                        <select class="span5">
                           <option>--- select type payment ---</option>
                             @foreach (var item in ViewBag. GetTypPay)
                            {

                            <option value="@item.id">@item.TypePaymentField</option>
                             }
                        </select>
4

1 回答 1

0

只需更改此行

@foreach (var item in ViewBag.TypSend as List<tbl_TypeOfSend>)

@foreach (var item in ViewBag.GetTypPay as List<tbl_TypOfPaye>)

它会起作用的!

PS:顺便说一句,我不喜欢你从数据库中获取数据的方式,我认为最好一次调用获取数据

于 2013-08-30T16:13:16.440 回答