2013-08-23 2 views
4

웹 뷰를 제공하기 위해 Razor 뷰 엔진을 사용하는 자체 호스팅 Nancy 서버를 사용하고 있습니다. 사용자 정의 HtmlHelpers를 만드는 방법을 살펴보고 간단한 예제 작업을 수행 할 수있었습니다. 그러나 내가하고 싶은 한가지는 BeginForm()과 같이 작동하는 도우미입니다. 마크 업에서 using 문을 사용하여 using-block의 시작과 끝 모두에서 출력을 생성 할 수 있습니다.Nancy의 BeginForm과 같은 면도기로 Html 도우미 만들기

@using (Html.BeginForm()) 
{ 
    <some html here> 
} 

내가 찾은 모든 예제는이 답변처럼, Asp.Net MVC 기반으로합니다 https://stackoverflow.com/a/7928566/1128038
낸시 구현에서 같은 방식으로 작동하지 않는 것 같습니다. 이 모든 것이 가능합니까?

+0

어떻게해야할까요? 나는 또한 알고 싶다. – CodeAndCats

+0

@BenDaniel 아니요, Microsoft 구현을 사용해야 만 할 수 있습니다. – Wiz101

답변

2

에 한번 사용 확장 방법 :이 테스트를 위해
난 그냥 GitHub의에 저장소를 생성,

@using (Html.BeginForm(this)) 
{ 
....other stuff 
}
0

Piotr answer 기준 자료 :

public static class HtmlHelperExtensions 
{ 
    public static BeginFormObject BeginForm(this HtmlHelpers helpers, NancyRazorViewBase view) 
    { 
     return new BeginFormObject("<form method=\"post\">", view); 
    } 

    public class BeginFormObject : IDisposable 
    { 
     private NancyRazorViewBase view; 
     public BeginFormObject(string markup, NancyRazorViewBase view) 
     { 
      this.view = view; 
      view.WriteLiteral(markup); 
     } 

     public void Dispose() 
     { 
      view.WriteLiteral("</form>"); 
     } 
    } 
}

이 면도칼에 다음 구문을 사용할 수 있습니다 .

믹스 셀프 호스팅 및 면도기의 간단한 솔루션입니다.

확인 당신이 검색하는 것입니다 경우 :
NancySelfHostRazorTest

행운을 빕니다.