2010-05-13 4 views
0

와 자바 스크립트를 반환합니다. 탐색 메뉴에서 현재 페이지와 관련된 클래스를 추가하려고합니다 (예 : 홈 페이지에 홈 버튼에 class = "active"가 추가됨). 확장 성 및 탐색이 나중에 변경되면 개별 페이지를 변경하고 싶지 않다는 사실을 고려하려고합니다. 나는이 일을 생각할 수의 asp.net MVC 2 - 내 마스터 페이지 내부의 탐색 메뉴를 ASP.NET MVC 2를 사용하여보기

유일한 방법은 다음과 같습니다

  1. 은 DOM이 준비가되면
  2. 돌아 자바 스크립트를 반환보기()
  3. 를 발생할 때 클래스를 추가 할 각보기에 자바 스크립트 추가 포인트

(2), 내가 할 방법 확실입니다. 내가 전화 할 때,

public ActionResult Index() 
    { 
     ViewData["message"] = JavaScript("<script type='text/javascript' language='javascript'> $(document).ready(function() { console.log('hi hi hi'); }); </script>"); 

     return View(); 
    } 

하지만 내보기 : 지금까지 내가 내 컨트롤러에 다음을하고있다

<%: ViewData["message"] %> 

내가 얻을 : System.Web.Mvc.JavaScriptResult을 결과로

너희들은 GPS 네비게이션을 해결하는 방법

  • 에 어떤 아이디어가시겠습니까 내가 [ "메시지"] 변수를 코드를 해결하려면을 ViewData에서 문자열을 저장하려면 컨트롤러

답변

1

에서보기와 함께

  • 반환 자바 스크립트를 열거 한 솔루션보다 다른 n 개의 메뉴 문제 :

    다음
    public ActionResult Index() 
    { 
        ViewData["message"] = "<script type='text/javascript' language='javascript'> $(document).ready(function() { console.log('hi hi hi'); }); </script>"; 
    
        return View(); 
    } 
    

    및 <퍼센트 = %와 페이지에 렌더링 >하지 <% : %> :

    <%= ViewData["message"] %> 
    
  • +0

    이상합니다. 난 그걸 시도해 봤어. 나는 <%: %>을 사용하는 것이 기본적으로 HTML.Encode()라고 말할 것입니다 ... 그러나 <%= %>은 무엇을합니까? –

    +0

    또한 나와있는 솔루션 이외의 탐색 메뉴 인 probelem을 해결하는 방법에 대한 아이디어가 있습니까? –

    +1

    <%: %>은 Html.Encode를, <%= %>을 입력하지 않습니다. 탐색 메뉴의 경우 일반적으로 사이트 맵과 모든 ASP.NET 기능을 사용하는 것이 좋습니다. 그것에 대해 더 자세히 읽어보십시오. 나는 다음 페이지가 좋은 출발점이 될 것이라고 생각한다 : http://www.asp.net/mvc/tutorials/providing-website-navigation-with-sitemaps-cs –

    0
    public JavaScriptResult Index() 
    { 
        return JavaScript("<script type='text/javascript' language='javascript'> $(document).ready(function() { console.log('hi hi hi'); }); </script>"); 
    }