如何在asp.net mvc中创建弹出窗口?

kur*_*ura 15 browser model-view-controller asp.net-mvc popup hyperlink

没有javascript/AJAX可供使用.

单击超链接时,应该打开一个新的浏览器窗口.

Fai*_* S. 36

基本HTML锚元素:

<a href="http://www.w3schools.com/"
target="_blank">Visit W3Schools!</a>
Run Code Online (Sandbox Code Playgroud)

ASP.NET WebForms HyperLink元素:

<asp:HyperLink ID="HyperLink1" runat="server" Target="_blank">HyperLink</asp:HyperLink>
Run Code Online (Sandbox Code Playgroud)

ASP.NET MVC风格:

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

这三个都打开了一个新标签,是否符合您的需求?


Jam*_*s S 14

如果您不使用javascript,则需要使用target ="_ blank".但要以更清洁的mvc方式做,请:

<%= Html.ActionLink("Click me", "ActionName", null, new {target="_blank"}) %>
Run Code Online (Sandbox Code Playgroud)

  • 是.有点奇怪.而且,不,它不是更清洁.但是,ActionLink"知道"您的路线.因此,如果您的路线发生变化,则链接会更新.此外,在您将视图变量放入其中之后,它将跟踪变量名称,因此重构更容易,并且还使用空值去除参数(这非常酷).如果你强力键入它,它对于编译时检查更好,但它看起来更有趣(<%= Html.ActionLink <ClickController>(c => c.Action(var1,null,var3),"Click Me" ,new {target ="_ blank"});%>). (3认同)

Cyr*_*pta 5

如果您的问题是 - 如何在asp.net mvc中创建弹出窗口

简单的答案是:不能

就此而言,您不能使用PHP,JSP或任何其他服务器端脚本语言.

您注意到上面的解决方案都是HTML?

弹出窗口是必须在客户端处理的域.服务器语言可以喷出具有打开弹出窗口命令的HTML/Javsascript.他们本质上无法命令浏览器打开一个窗口.