2012-03-01 4 views
2

버튼을 렌더링하는 html 도우미를 만들려고합니다. 예를 들어이 포함되어야합니다 - 나는 MergeAttribute는 HTML을 인코딩 때문에이 TagBuilder를 사용하지만 데 문제를하려고 노력했다인코딩없이 HTML 도우미 만들기

<button onClick="window.location='/Users/Edit/admin'"> 

.

buttonBuilder.MergeAttribute ("onClick", "window.location = '"+ url.Action (action, controller, routeValues)); 나는이 작업을 수행 할 수있는 방법 그래서 인코딩 아니에요 있는가

<button onClick="window.location=&#39;/Users/Edit/admin"> 

-

나를 준다? 아니면 TagBuilder 이외의 다른 방법을 사용해야합니까?

+0

, 내 새로운 대답을 보면, 나는 거의 잊어 버려. =) –

답변

2

--EDITED

나는 거의 잊어 HtmlDecode 사용

public static class ButtonHelper 
{ 
    public static IHtmlString Button(this HtmlHelper html) 
    { 
     TagBuilder button = new TagBuilder("button"); 
     button.MergeAttribute("onClick", "window.location='/Users/Edit/admin'"); 

     return new HtmlString(System.Web.HttpUtility.HtmlDecode(button.ToString())); 
    } 
} 

을 아니면 봐 : 해결 http://forums.asp.net/t/1377957.aspx/1

+0

감사합니다. buttonBuilder.MergeAttribute ("onClick", "window.location = ("+ 새 JavaScriptSerializer(). Serialize (url.Action (action, controller, routeValues)) + "); "); 나를 위해 일했다 :) –

+0

그래서, 나는 대답을 다시 넣을 것이다. –

+0

글쎄, 당신을 위해 일하면, 당신은 답변으로 표시 할 수 있으며이 답변은 다른 사용자에게 도움이 될 수 있습니다. =) –