2011-01-28 12 views

Respuesta

10

Hay dos manera de hacer esto:

  1. utilizar la propiedad PageData (que es algo más aplicable a las páginas web ASP.NET y rara vez se utiliza en MVC)

    • Set:

      @{ 
          PageData["message"] = "Hello"; 
      } 
      
    • Recuperar

      <h2>@PageData["message"]</h2> 
      
  2. tratar de encontrar la instancia de vista (el código es un poco sucio, pero sí le dan acceso directamente a ViewBag/ViewData

    • Set:

      @{ 
          var c = this.ChildPage; 
          while (c != null) { 
           var vp = c as WebViewPage; 
           if (vp != null) { 
            vp.ViewBag.Message = "Hello1"; 
            break; 
           } 
           c = c.ChildPage; 
          } 
      } 
      
    • Recuperar: como de costumbre

      <h2>@ViewBag.Message</h2> 
      
+0

Eso es desafortunado. Un filtro de acción no tiene sentido para mi situación. Quería establecer una propiedad que indique a la disposición qué menú está activo. Supongo que solo agregaré la propiedad a cada página. –

+0

@Jim Yo era demasiado rápido. Ver respuesta revisada. – marcind

+0

ViewPage es análogo a SessionVar que es adhesivo a la página en lugar de sesión? – justSteve

Cuestiones relacionadas