• 25-07-2015, 14:51:55
    #1
    Üyeliği durduruldu
    merhabalar

    normalde bir view için tek model tanımlaması yapıyoruz bunu 2 yapabilirmiyiz

    örnek tblarac tablosu olarak bir detay sayfasında farklı bir tablo için listeleme yapmak istiyorum

    Action
    public ActionResult Details(int id)
            {
                return View(db.TBLYOLPLANLARIs.ToList().Where(x=> x.ID==id).SingleOrDefault());
            }
    View
    @model ADMIN.Models.TBLYOLPLANLARI
    @{
        ViewBag.Title = "Details";
        Layout = "~/THEME/kalip.cshtml";
    }
    
    <div class="row">
        <div class="col-md-12">
            <div class="block-web">
                <div class="header">
                    <div class="actions"> <a class="minimize" href="#"><i class="fa fa-chevron-down"></i></a> <a class="refresh" href="#"><i class="fa fa-repeat"></i></a> <a class="close-down" href="#"><i class="fa fa-times"></i></a> </div>
                    <h3 class="content-header">Görüntüle/Yapılandır : @Html.DisplayFor(model => model.KALKIS_NOKTASI) - @Html.DisplayFor(model => model.VARIS_NOKTASI)</h3>
                </div>
                <div class="porlets-content">
                    
                    <table id="user" class="table table-bordered table-striped" style="clear: both">
                        <tbody>
                            <tr>
                                <td width="25%">Kalkış Noktası</td>
                                <td width="55%">@Html.DisplayFor(model => model.KALKIS_NOKTASI)</td>
                            </tr>
                            <tr>
                                <td>Varış Noktası</td>
                                <td>@Html.DisplayFor(model => model.VARIS_NOKTASI)</td>
                            </tr>
                            <tr>
                                <td>Yol Alınacak Mesafe</td>
                                <td>@Html.DisplayFor(model => model.KM)</td>
                            </tr>
                        </tbody>
                    </table>
                        <p>
                            <input type="submit" value="Delete" class="btn btn-primary" /> |
                            @Html.ActionLink("Back to List", "Index")
                        </p>
                </div>
            </div>
        </div>
    </div>
  • 25-07-2015, 15:17:06
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Selamlar,

    ViewModel kavramı sayfa parametrelerinin tek bir class da toplanmasıdır.

    class ProductIndexViewModel
    {
    public Product Product {get; set;}
    public List<Product> Products {get; set;}
    public List<Category> Category {get; set;}
    }
    
    class ActionResult Product
    {
    return View(new ProductIndexViewModel
       {
        Product = db.Product.FirsOrDefault(),
        Products = db.Product.ToList(),
        Categories = db.Categoriy.ToList()
        });
    }
    Bu şekilde index de @model den, @model.Product, @model.Products veya @model.Categories şeklinde ulabilirsin.

    Kafadan yazdım, yanlışlar olabilir.
  • 25-07-2015, 16:45:20
    #3
    Üyeliği durduruldu
    peki viewda değerlere ulaşım nasıl sağlayacağız
  • 25-07-2015, 16:47:27
    #4
    @model ADMIN.Models.TBLYOLPLANLARI Yerine @model.ProductIndexViewModel olarak ulaşabilirsin.
  • 25-07-2015, 16:51:18
    #5
    Üyeliği durduruldu
    model_list diye class oluşturdum model klasöründe aynı şekilde ilerledim

    public TBLYOLPLANLARI TBLYOLPLANLARI { get; set; }
    public List<TBLYOLPLANLARI> yolplanlari { get; set; }
    public List<TBLARAC> arac { get; set; }
    ancak viewda

    @Html.DisplayFor(model => model.KALKIS_NOKTASI)
    bu noktada nasıl bir yol izlemeliyim

    model.yolplani.KALKIS_NOKTASI nı kabul etmiyor
    belkide list olarak tanımladığımızdan
  • 25-07-2015, 16:59:00
    #6
    public List<TBLYOLPLANLARI> yolplanlari { get; set; } Altına
    public TBLYOLPLANLARI yolplanlari { get; set; }


    Olark ekle