ASP.NET MVC의 디자인 패턴과 관련하여 다소 혼란 스럽습니다.뷰 로직을 어디에 둘까요?
는 것은이<div id="header">
<strong class="logo"><a href="#">Home</a></strong>
<% Html.RenderPartial("BreadCrumbs"); %>
, 내가 이동 경로 링크가 생산 및 내 dev 환경에서 모두 작업 할 : 나는 빵 부스러기를 렌더링하는 부분도 포함 Masterpage 있습니다.
<p id="breadcrumbs">
You are here: <a href="http://
<% if (Request.Url.IsLoopback)
Response.Write(String.Format("{0}/{1}", Request.Url.Host, Request.Url.Segments[1]));
else
Response.Write("http://mysite.com/");
...
이가 "바보"보기를 유지의 원칙을 위반 : 그래서 부분보기에 내 코드는 다음과 같이 간다? 마스터 페이지에서 이것을 추출하는 이유 중 하나가 바로이 원리입니다. 문제를 새로운 시각으로 옮겼다 고 생각하십니까? 대안은 무엇입니까?
정말 그렇지 않습니까? 컨트롤러에 Url을 작성하여 부스러기 뷰에 전달하는 것이 더 나을 것입니다. 이렇게하면 한 가지보기 만 있습니다. – Gidon
@ 기드온, 오, 왜 그렇 겠지요. 그러나 이것은 뷰가 테스트해야만한다는 것을 의미합니다. 추가 테스트 및 로직을 포함해야합니다. 가능한 적은 콘텐츠/로직을 포함하는 뷰를 호출하고 싶습니다. – GvS
실제로 컨트롤러에서 논리를 수행하고 [계산] URL을 뷰에 제공하도록 제안합니다 ([View] Model, ViewBag 또는 ViewData 사용) – Gidon