Porównywanie właściwości klas modelu i widoku

0

Mam skompilowany widok w ASP.NET MVC do kodu C#. Widok ten korzysta z klasy modelu - w moim przypadku jest to klasa "Product". Jednak chcę wypisać do pliku tylko te właściwości, z których on faktycznie korzysta pomijając te z których nie korzysta w danym widoku.
Np. mam właściwości:

 
        public int productID { get; set; }
        public string Name { get; set; }
        public string Description { get; set; }
        public string Category { get; set; }
        public decimal Price { get; set; } 

A mój widok korzysta jedynie z Name oraz Category.
Więc tylko te chcę wpisać do pliku. Jeśli jednak skompiluję te całość:

#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:4.0.30319.18046
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

namespace ClassLibrary1.Views.Product
{
    using System;
    using System.Collections.Generic;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Text;
    using System.Web;
    using System.Web.Helpers;
    using System.Web.Mvc;
    using System.Web.Mvc.Ajax;
    using System.Web.Mvc.Html;
    using System.Web.Routing;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.WebPages;
    
    [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
    [System.Web.WebPages.PageVirtualPathAttribute("~/Views/Product/Index.cshtml")]
    public partial class Index : System.Web.Mvc.WebViewPage<RazorMvc.Models.Product>
    {
        public Index()
        {
        }
        public override void Execute()
        {

WriteLiteral("\r\n");


            
            #line 3 "..\..\Views\Product\Index.cshtml"
  
    ViewBag.Title = "Index";


            
            #line default
            #line hidden
WriteLiteral("\r\n<h2>Nazwa: ");


            
            #line 7 "..\..\Views\Product\Index.cshtml"
      Write(Model.Name);

            
            #line default
            #line hidden
WriteLiteral("</h2>\r\n");


            
            #line 8 "..\..\Views\Product\Index.cshtml"
Write(DateTime.Now.ToShortTimeString());

            
            #line default
            #line hidden
WriteLiteral("\r\n");


            
            #line 9 "..\..\Views\Product\Index.cshtml"
 if (Model.Category == "Sporty wodne")
{

            
            #line default
            #line hidden
WriteLiteral("    <p>Pluuussk </p>\r\n");


            
            #line 12 "..\..\Views\Product\Index.cshtml"
}
else
{

            
            #line default
            #line hidden
WriteLiteral("    <p>Cos nie tak!</p>\r\n");


            
            #line 16 "..\..\Views\Product\Index.cshtml"
}

            
            #line default
            #line hidden

        }
    }
}
#pragma warning restore 1591
 

To otrzymuję wszystkie właściwosci poniewaz pod lufę kompilator wzial caly projekt. Wyodrębnić tego nie mogę bo są błędy. Macie jakieś pomysły jak to zrobic?

0

Widok korzysta z modelu? Nie tędy droga łamiesz zasady wzorca. Taki obrazek znalazłem reprezentujący ogólną zasadę:
http://symfony.com/legacy/images/jobeet/1_4/04/mvc.png

Więc kontroler powinien odpowiednie obsłużyć dane z modelu i potem je wysłać do widoku pliku czy co tam chcesz osiągnąć.

1 użytkowników online, w tym zalogowanych: 0, gości: 1