2010-01-20 8 views
0

코드 블록 내에서보기에 HTML 도우미를 렌더링 할 수 있는지 궁금합니다. 그래서 대신 :MVC HTML 도우미 렌더링

<% 
switch(SomeParameter) 
{ 
    case "blah": 
     Html.TextBox("sometextbox", "somethingelse") 
    break; 
} 
%> 

을 그리고 이것은 렌더링이 :

<% = Html.TextBox("sometextbox", "somethingelse") %> 

내가하고 싶은. 물론, 그대로 렌더링 할 수는 없으므로이를 달성하기 위해 페이지에 백만 개의 구분 기호를 사용할 필요없이 텍스트 상자를 추가 할 수 있는지 프로그래밍 방식으로 결정하는 방법이 있습니까?

미리 감사드립니다.

+0

당신이보기에 논리를 넣어야합니까? – brian

+0

나는 아직도 디자인을 가지고 놀고있다. 어떤 시점에서 그가 끝내야 만한다. Html 요소 int는 그의 케이스가 데이터베이스 테이블에서 구동되기 때문에 어디서 볼 수 있는지, 그리고 여전히 그가 볼 수있는 int로 끝나는 지 잘 모르겠다. 테이블에있는 내용에 따라 프로그래밍 방식으로 1 ~ 10 개의 매개 변수가 추가 될 수 있습니다. – sethxian

답변

1
<% 
    switch(SomeParameter) 
    { 
     case "blah": 
      %><%=Html.TextBox("sometextbox", "somethingelse")%><% 
      break; 
    } 
%> 

<%= %> 그래서 다음과 너무 작업을해야하지만 Response.Write() 단지 속기 표기법입니다.

<% 
    switch(SomeParameter) 
    { 
     case "blah": 
      Response.Write(Html.TextBox("sometextbox", "somethingelse")); 
      break; 
    } 
%> 

모든 HtmlHelpers는 문자열을 반환하고 디자인에 의해 직접 응답 스트림에 출력하지 않습니다.

+0

고마워요. 그게 내가 필요한 것입니다. 그 이유는 고전적인 모델의 일부이기 때문에 왜 그렇게 생각하지 않았는지 모르겠습니다. – sethxian

0

이게 당신이 찾는거야?

<% switch (SomeParameter) 
     { 
      case "blah": %> 
    <%= Html.TextBox("sometextbox", "somethingelse") %> 
    <% break; 
     } %> 
+0

닫기, 나는 각 구분에 대해 구분 기호를 구분하지 않아도되도록 노력하고있었습니다. 당신의 응답을 주셔서 감사합니다! – sethxian

+0

미안하지만 나는 왜 위의 해결책을주지 않았는 지 모르겠다. D –

+0

아마도 나는 그것을 생각하지 않았을 때와 같은 이유로, 때로는 우리가 알고있는 것을 처리하지 않는다. :) 시간 내 주셔서 감사합니다. . – sethxian

관련 문제