2011-11-26 2 views
2

I에서, "ItemImageDisplay"부분보기 그것을 배치 한 div 태그 안에이 렌더링되는 MVC 3보기부분 뷰를 올바르게 렌더링하려면 어떻게해야합니까? I했던 것처럼

<% foreach (var stockItem in Model.Shop.Stock) { %> 
     <div class="shopItem"> 
      <div class="shopItemLeft"> 
       <% Html.RenderPartial("ItemImageDisplay", stockItem.Item); %> 
      </div> 
      <div class="shopItemRight"> 
       <strong><%= stockItem.Item.ToString() %></strong><br /> 
       <%= stockItem.Item.CalculatePrice() %><br /> 
       <%= stockItem.Quantity %> in stock<br /> 
       <%= Html.ActionLink("Buy", "BuyShopItem", new { shopId = Model.Shop.Id, itemId = stockItem.Item.Id }, null) %> 
      </div> 
     </div> 
    <% } %> 

다음 코드없는 한, 그것을 대신 렌더링 넣어 :

<% foreach (var stockItem in Model.Shop.Stock) { %> 
       <% Html.RenderPartial("ItemImageDisplay", stockItem.Item); %> 
    <% } %> 

    <% foreach (var stockItem in Model.Shop.Stock) { %> 
     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong><%= stockItem.Item.ToString() %></strong><br /> 
       <%= stockItem.Item.CalculatePrice() %><br /> 
       <%= stockItem.Quantity %> in stock<br /> 
       <%= Html.ActionLink("Buy", "BuyShopItem", new { shopId = Model.Shop.Id, itemId = stockItem.Item.Id }, null) %> 
      </div> 
     </div> 
    <% } %> 

은 다음 부분보기의 HTML이 될 때 :

<%= Html.Image("~/Content/Images/Items/" + Model.Id + ".png", Model.ToString(), new { onmouseover = "tooltip('item:" + Model.Id + "');", onmousemove = "tooltip('item:" + Model.Id + "');", onmouseout = "tooltipRem();" }) %> 
당신이 날이 그것으로 렌더링되는 이유를 이해하는 데 도움이 될 수 있습니다하십시오

이 일을 막으려면 어떻게해야합니까?

편집 :

<img alt="Can of Pineapples" onmousemove="tooltip(&#39;item:1152&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:1152&#39;);" src="/Content/Images/Items/1152.png" title="Can of Pineapples" /><img alt="Kraken Treats" onmousemove="tooltip(&#39;item:1104&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:1104&#39;);" src="/Content/Images/Items/1104.png" title="Kraken Treats" /><img alt="Orange Jelly" onmousemove="tooltip(&#39;item:1279&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:1279&#39;);" src="/Content/Images/Items/1279.png" title="Orange Jelly" /><img alt="Peanuts" onmousemove="tooltip(&#39;item:509&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:509&#39;);" src="/Content/Images/Items/509.png" title="Peanuts" /><img alt="Fourth Year Anaversary Cake" onmousemove="tooltip(&#39;item:859&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:859&#39;);" src="/Content/Images/Items/859.png" title="Fourth Year Anaversary Cake" /><img alt="Taco" onmousemove="tooltip(&#39;item:486&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:486&#39;);" src="/Content/Images/Items/486.png" title="Taco" /><img alt="Can of Blueberries" onmousemove="tooltip(&#39;item:1154&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:1154&#39;);" src="/Content/Images/Items/1154.png" title="Can of Blueberries" /><img alt="Strawberry Jam" onmousemove="tooltip(&#39;item:639&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:639&#39;);" src="/Content/Images/Items/639.png" title="Strawberry Jam" /><img alt="Crisps" onmousemove="tooltip(&#39;item:726&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:726&#39;);" src="/Content/Images/Items/726.png" title="Crisps" /><img alt="Cooked Shrimp" onmousemove="tooltip(&#39;item:521&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:521&#39;);" src="/Content/Images/Items/521.png" title="Cooked Shrimp" /><img alt="Fishy Finger" onmousemove="tooltip(&#39;item:629&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:629&#39;);" src="/Content/Images/Items/629.png" title="Fishy Finger" /><img alt="Can of Peaches" onmousemove="tooltip(&#39;item:1151&#39;);" onmouseout="tooltipRem();" onmouseover="tooltip(&#39;item:1151&#39;);" src="/Content/Images/Items/1151.png" title="Can of Peaches" /> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Can of Pineapples</strong><br /> 
       940<br /> 
       10 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=1152">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Kraken Treats</strong><br /> 
       934<br /> 
       7 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=1104">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Orange Jelly</strong><br /> 
       827<br /> 
       9 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=1279">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Peanuts</strong><br /> 
       116<br /> 
       8 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=509">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Fourth Year Anaversary Cake</strong><br /> 
       1794<br /> 
       7 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=859">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Taco</strong><br /> 
       950<br /> 
       7 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=486">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Can of Blueberries</strong><br /> 
       317<br /> 
       8 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=1154">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Strawberry Jam</strong><br /> 
       1032<br /> 
       10 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=639">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Crisps</strong><br /> 
       179<br /> 
       10 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=726">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Cooked Shrimp</strong><br /> 
       663<br /> 
       11 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=521">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Fishy Finger</strong><br /> 
       974<br /> 
       10 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=629">Buy</a> 
      </div> 
     </div> 

     <div class="shopItem"> 
      <div class="shopItemLeft"> 

      </div> 
      <div class="shopItemRight"> 
       <strong>Can of Peaches</strong><br /> 
       786<br /> 
       7 in stock<br /> 
       <a href="/Market/BuyShopItem?shopId=1&amp;itemId=1151">Buy</a> 
      </div> 
     </div> 
+0

렌더링 된 뷰/부분 뷰에서 html 출력을 추가 할 수 있습니까? – glosrob

+0

죄송합니다. 추가하셔야합니다. 내가 질문을 편집했습니다 –

+0

파이어 버그 또는 ie 개발자 도구와 같은 DOM 브라우저로 검사 한 페이지 또는 페이지의 실제 출처입니까? Javascript는 dom을 변경할 수 있지만 페이지 소스는 변경할 수 없습니다. Ther은 내가 말할 수있는 한 게시 한 코드에 아무런 문제가 없습니다. 예상대로 출력해야합니다. –

답변

2

은 흠 난 당신이 Html.RederPartial보다는 Html.Partial을 사용하고 있기 때문에 의심 : 다음은이 섹션의 렌더링 된 출력입니다. 후자는 문자열을 반환하는 반면 전자는 응답 스트림에 직접 씁니다. MVC가 전체 foreach 루프를 실행하고 결과를 설명하는 끝에 응답을 쓰는 부적 절한 느낌이 들었습니다.

+0

감사합니다. –

관련 문제