2013-05-20 9 views
7

W naszym projekcie ASP.NET MVC3 napisaliśmy kilka niestandardowych metod rozszerzenia HTML Helper, które w zasadzie renderują niektóre kontrolki composit (powiedz tekst i etykietę z niektórymi potrzebnymi stylami). Teraz chcemy również renderować niektóre javascript wraz z tagami HTML, ale wygląda na to, że MVCHtmlString nie renderuje testu javascript jako javascript! Wszelkie opcje lub alternatywy do renderowania dynamicznego javascripta z niestandardowych pomocników HTML?Renderowanie JavaScript za pomocą niestandardowej metody rozszerzenia HTML Helper?

+0

Czy zawinąłeś je w znaczniki skryptu? JavaScript nie będzie parsowany, chyba że zapakowany – levelnis

Odpowiedz

11

To działa dobrze dla mnie :)

tutaj jest to, co kiedyś jako metodę rozszerzenia:

namespace MvcApplication1.ExtensionMethods 
{ 
    public static class MyExtensionMethods 
    { 
     public static MvcHtmlString SomeJavascript(this HtmlHelper helper) 
     { 
      StringBuilder sb = new StringBuilder(); 

      sb.Append("<script> alert('testing 123')</script>"); 


      return MvcHtmlString.Create(sb.ToString()); 
     } 
    } 
} 

iw moim index.cshtml Ja nazywam to tak:

@using MvcApplication1.ExtensionMethods 
.... 
@Html.SomeJavascript() 

i pokazuje mi wyskakujące okienko :)

+0

Naprawdę? Daj mi tacę, jeszcze raz. –

+0

Tak, absolutnie! Dziękuję Ci. –

+0

cieszę się, że mogłem pomóc;) –

Powiązane problemy