【问题标题】:Open URL in a new tab from MVC controller [closed]在 MVC 控制器的新选项卡中打开 URL [关闭]
【发布时间】:2015-03-26 03:08:38
【问题描述】:

如何根据成功条件从 MVC 控制器的新选项卡/窗口中打开 URL。我可以通过 c# 代码的帮助实现它,而无需编写 javascript?

【问题讨论】:

  • 你的代码目前是什么样子的?
  • @TheLazyChap 这是我试图从控制器实现的 If (user.selectedmethod == "Login") { return JavaScript("
  • @Yoda 为什么不选择答案让人们尝试最佳答案?

标签: c# asp.net-mvc asp.net-mvc-controller


【解决方案1】:

这不能从控制器中完成,而是从您的剃刀视图中完成:

@Html.ActionLink("linkText", "Action", new {controller="ControllerName"}, new {target="_blank"})

【讨论】:

  • 这就是我想要实现的 - 用户点击按钮,它会点击一个控制器,在那里它会检查一些过滤器,如果成功,它应该在新窗口中打开一个 URL 示例“google.com” !-- 语言:c# --> If (user.selectedmethod == "Login") { return JavaScript(""); }
  • 为什么你不使用 JQuery 或 javascript 那么 pb 是什么?您可以进行 ajax 调用并验证数据,然后基于该数据导航一个新窗口?
【解决方案2】:

从控制器调用 URL:

return RedirectToAction("Edit", "Home");


使用 HTML 按钮或图像从视图中调用操作方法:

在 ASP.NET MVC 中创建指向控制器操作的链接时,最好使用通用 ActionLink 方法,因为它允许重构友好的强类型链接。

@Html.ActionLink("Edit", "Home", new { id = item.ID }) 

但是,如果我们想要一个链接到动作的图像怎么办?您可能认为您可以像这样组合 ActionLink 和 Image 和 Button 助手:


使用按钮:

<button onclick="location.href='@Url.Action("Edit", "Home",new { Model.ID })';return false;">Detail</button>

<input type="button" title="Delete" value="D" onclick="location.href='@Url.Action("Edit", "Home", new { id = item.ID })'" />


使用图片:

<a href="@Url.Action("Edit", "Home", new { id = item.ID })" title="Edit">


希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-22
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-21
    • 2016-05-03
    • 1970-01-01
    相关资源
    最近更新 更多