4
내가하려고하는 것은 자바 스크립트를 면도기 스타일의 마크 업과 .cshtml 파일 내부의 메소드와 혼합하여 작성하고 나중에 이것을 사용하기 위해 별도의 메소드로 전송하는 것입니다.면첩 마크 업이 포함 된 내용을 메서드의 매개 변수로 사용하려면 어떻게해야합니까?
내 .cshtml 다음과 같은 :
CS1660 :에 람다 식을 변환 할 수 없습니다
public static void SaveForLater(HtmlString str) {
// will be using str.ToString() here and save the string output for use later on.
}
하지만 제가받은 것은이 오류 메시지는 다음과 같습니다
@{SomeClass.SaveForLater(@<script type="text/javascript">window.alert('@Model.SomeParamter')}</script>);
그리고 클래스 SomeClass 내부
대리자 형식이 아니기 때문에 'System.Web.HtmlString'을 입력하십시오.나는 인수 또는 d에 대해 잘못된 형식을 사용하고 있습니까? o 전체 개념을 재고해야합니까? 나는이 일을 결국 아래 SLaks에
솔루션 감사 : 이런 식으로 사용
public static void SaveForLater<T>(Func<T, HelperResult> template, dynamic model)
{
// template(model).ToHtmlString()
}
는 :
@{SomeClass.SaveForLater<SomeModel>(
@<script type="text/javascript">window.alert('@Model.SomeParamter')</script>,
Model
);
올바른 방향으로 나를 가리켜 주셔서 감사합니다. 그러나 제 예제를 보면 "무엇"클래스를 나타낼 수 있습니까? –
@ MattiasHögnäs : 원하는 모든 것. 그것은 행동으로 넘어갈 것이다. 내 블로그 게시물을 참조하십시오. 아무것도 전달하고 싶지 않으면. 그냥'object'를 사용하십시오. – SLaks