1
"_ViewStart.cshtml"을 사용하여 레이아웃을 "Shared/_Layout.cshtml"로 설정하는 RazorViewEngine 사이트 빌드가 있습니다.PartialView [viewname, model]이 (가) 반환됩니까?
public class LogModule : NancyModule
{
public LogModule()
{
Get["/log"] = _ =>
{
var list = GetLog().ToPagedList(1, 5);
return View["Index", list];
};
Get["/log/{page:int}"] = _ =>
{
int pageNumber = _.page ?? 1;
var list = GetLog().ToPagedList(pageNumber, 5);
return View["_List", list];
};
}
}
그리고 다음보기 :
Index.cshtml
@using Nancy.ViewEngines.Razor
@using PagedList
@inherits NancyRazorViewBase<IPagedList<LogModel>>
<h1>View Log</h1>
<div id='container'>
@Html.Partial("_List", Model)
</div>
_List.cshtml
@using Nancy.ViewEngines.Razor
@using PagedList
@inherits NancyRazorViewBase<IPagedList<LogModel>>
<table class="table table-hover table-condensed">
<thead>
<tr>
<th>Date</th>
<th>Message</th>
</tr>
</thead>
<tbody>
@foreach (var log in Model)
{
<tr class="@log.Class">
<td>@log.Date</td>
<td>@log.Message</td>
</tr>
}
</tbody>
<tfoot>
<tr>
<td colspan="2">
<div class="pagination" data-current="@Model.PageNumber" data-count="@Model.PageCount">
<ul class="list-unstyled list-inline">
<li><a href="javascript:void(0)" class="pager first">|<</a></li>
<li><a href="javascript:void(0)" class="pager prev"><</a></li>
<li class="active"><span>@Model.PageNumber/@Model.PageCount</span></li>
<li><a href="javascript:void(0)" class="pager next">></a></li>
<li><a href="javascript:void(0)" class="pager last">>|</a></li>
</ul>
</div>
</td>
</tr>
</tfoot>
</table>
그리고 마지막으로, 일부 자바 스크립트 그럼, 다음과 같은 모듈을했습니다 '/ log/{page : int}'액션에 대한 ajax 요청을 관리하고 'container'div를 결과로 대체하는 코드입니다. 슬프게도, t 그의 결과에는 _Layout.cshtml을 포함한 전체 페이지가 포함되어 있으며 모든 페이지가 깨졌습니다.
MVC에서이 부분은 return PartialView (viewName, Model)를 사용하여 해결되지만 NancyFx에서 비슷한 것을 찾을 수 없습니다. 내가 빠진 것이 있습니까?
부분보기 및보기 MVC, 단지 별칭에서 동일 :
를 다음 부분보기에서 사용 : 그냥이 한 줄에'빈 '레이아웃 파일을 생성 낸시의 뷰를 반환 할 것입니다. 보기에서 레이아웃을 null로 설정하면 기본 마스터가로드되지 않습니다. – Phill
null로 설정하려고 시도했지만 작동하지 않았습니다. 그러나 비슷한 접근 방식이 효과가 있습니다. 나는 그것을 문제의 해결책으로 언급했다. 어쨌든 고마워! – Farlop
당신이 그것을 분류했기 때문에 기쁘다, 나는 더 나은 해결책이 있다고 확신하지만, 내 머리 꼭대기를 기억할 수 없다. Razor를 공식 릴리스를 사용하도록 업그레이드 한 이후에 새로운 버그가있을 수있다. . – Phill