2017-01-09 5 views
-1

테이블에 제품 코드 목록을 표시하고 있는데 각 제품마다 고유 한 크기가 있습니다. 나는 이제까지 제품을 공중 선회하고 그들의 자신의 크기를 전망 할 수있을 것입니다 싶습니다. 이 구현에 대한 나의 접근 방식은 효과가 없었습니다. 나는 도움의 손길이 필요합니다. 대신 모델을 사용하는 코드를 사용하지 않는 이유를 사전에 감사도구 팁의 데이터베이스 필드에서 추가 정보를 표시하는 방법 마우스 오버시 ASP.NET MVC의 레코드 오버

뷰 모델

public class PTGIndexVM 
{ 
    [Display(Name="Select Promotion")] 
    public int PromotionId { get; set; } 
    public List<SelectListItem> PromotionOptions { get; set; } 
    public IList<EditPTG> IndexList { get; set; } 
    public IList<String> ProductCodes { get; set; } 
    public string wrapClass { get; set; } 

    public List<SelectListItem> Size { get; set; } 


    public PTGIndexVM() 
    { 
     IndexList = new List<EditPTG>(); 
     PromotionOptions = new List<SelectListItem>(); 
     ProductCodes = new List<String>(); 
     Size = new List<SelectListItem>(); 

     Setup(); 
    } 

foreach는 루프에서보기

<fieldset class="fieldset"> 
     <legend class="legend">Product To Grade Mappings</legend> 
     <table class="promo full-width alternate-rows"> 
      <tr> 
       <th> 
        @Html.DisplayNameFor(model => model.IndexList[0].grade.GradeString) 
       </th> 
       <th class="center-text">Frequency 
       </th> 
       @if (Model.IndexList.Count > 0) 
       { 
        foreach (var code in Model.ProductCodes) 
        { 

        <th class="center-text" title="@Model.Size."> 
         @Html.DisplayFor(m => code) 



        </th> 

        } 
       } 
       <th>Actions</th> 
      </tr> 
+0

보기 모델이 제품과 관련이없는 것처럼 보이고 그 루프 내에서 툴팁을 원할 경우 'ProductCodes'는 '코드'속성을 포함하는 복잡한 객체의 모음이어야합니다. '' '크기' –

+0

@StephenMuecke 나는 당신이 내가 ProductCodes의 목록을 갖고 있다고 말하려고하는 나의 게시물을 편집 한 것이 옳고 미안하다고 생각합니다. ProductCodes 및 크기는 Product 테이블 내의 필드입니다. 속성을 포함하는 복잡한 객체의 예를 보여줄 수 있습니까 ?? – cedPound

+0

이제 모델의 감각이 떨어집니다. 'Product'는'ProductCodes' 콜렉션과'Sizes' 콜렉션을 가지고 있습니까 –

답변

0

필자는 필드 자체 대신 전체 표를 참조해야 툴팁에 표시 할 데이터를 쉽게 표시 할 수있었습니다.

public class PTGIndexVM 
{ 
    [Display(Name="Select Promotion")] 
    public int PromotionId { get; set; } 
    public List<SelectListItem> PromotionOptions { get; set; } 
    public IList<EditPTG> IndexList { get; set; } 
    public IList<Product> Products { get; set; } 
    public string wrapClass { get; set; } 

    /// <summary> 
    /// Members Setup 
    /// </summary> 
    public PTGIndexVM() 
    { 
     IndexList = new List<EditPTG>(); 
     PromotionOptions = new List<SelectListItem>(); 
     Products = new List<Product>(); 
     Setup(); 
    } 

    vm.Products = productLogic 
      .GetByAndInclude(x => x.PromotionID == PromotionId && x.WindowProduct == true && x.Active == true, new List<string>() { "Size", "ProductTemplate" }) 
      .Where(prod => allPTG.Any(x => x.ProductID == prod.ProductID)) 
      .OrderBy(prod => prod.ProductCode) 
      .Select(prod => prod) 
      .ToList(); 

foreach (var product in Model.Products) 
        { 
        <th class="center-text" title="@product.ProductTemplate.Vertical (V) x @product.ProductTemplate.Horizontal (H)"> 
         @Html.DisplayFor(m => product.ProductCode) 
        </th> 
        } 
       } 
0

, 당신은 고려 모델에 Size라는 필드가 있습니다.

<th class="center-text" title="@code.Size"> 
    @Html.DisplayFor(m => code) 
</th> 
+0

의 외래 키입니다. 이미 크기가 – cedPound

+0

인 정의를 찾지 못했습니다. @code를 입력 할 때 intellisense가 무엇을 표시합니까? – Sudhanshu

+0

그냥 (지역 변수) 문자열 코드를 보여줍니다 – cedPound