2009-08-28 18 views

Respuesta

36

básico de anclaje HTML Elemento:

<a href="http://www.w3schools.com/" 
target="_blank">Visit W3Schools!</a> 

ASP.NET Web Forms HyperLink Elemento:

<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink> 

ASP.NET MVC Estilo:

<%= Html.ActionLink<HomeController>(c => c.Index(), "Click me", new { target = "_blank" }) %> 

Los tres abrir una nueva pestaña, ¿Eso se adaptaría a tus necesidades?

+0

Esto es cierto pero solo quería agregar que no desea utilizar el hipervínculo asp: en asp.net mvc vea la respuesta a continuación por James S. – David

+0

Por supuesto, también se puede hacer con el elemento Html.ActionLink . - alteré mi comentario para que coincida. –

3
<A Href="page.html" target="_blank">Link text </A> 

target = "_ blank" es la pieza específica que necesita.

Como alternativa, podría usar target = "new". Here's un artículo que describe cómo se comportan los dos de manera diferente.

14

Si no está utilizando javascript, debe utilizar target = "_ blank". Pero para hacerlo de una manera más limpia MVC, hacer:

<%= Html.ActionLink("Click me", "ActionName", null, new {target="_blank"}) %> 
+0

¿Cómo es eso más limpio que el siguiente Click Me

+0

Es un poco raro pero es el modo asp.net mvc, y puedes hacer cosas para crear tus propios ayudantes, etc., también puedes poner fácilmente los vars de vista aquí, en vez de difícil codificación de las cadenas. – David

+3

Sí. Es raro. Y, no, no es más limpio. Sin embargo, ActionLink "sabe" sobre tus rutas. Entonces, si cambian sus rutas, entonces el enlace se actualiza. Además, una vez que haya puesto sus vars de vista allí, hará un seguimiento de los nombres de las variables, por lo que la refactorización es más fácil y también eliminará los parámetros con valores nulos (lo cual es bastante bueno). Si lo escribe con fuerza, es incluso mejor para la verificación en tiempo de compilación, pero es un poco más funky (<% = Html.ActionLink (c => c.Action (var1, null, var3), "Click Me" , nuevo {target = "_ blank"}};%>). –

5

Si su pregunta es - ¿Cómo puedo crear ventana emergente en mvc asp.net

La respuesta es simple: puede' t

No es posible en PHP, JSP o cualquier otro lenguaje de scripting del lado del servidor.

¿Ha notado que las soluciones anteriores son todas HTML?

La ventana emergente es un dominio que debe manejarse desde el lado del cliente. Los lenguajes de servidor pueden arrojar HTML/Javsascript que tienen los comandos para abrir una ventana emergente. Ellos intrínsecamente no pueden ordenarle al navegador que abra una ventana.

Cuestiones relacionadas