【问题标题】:Asp.net (Core) - Navigate to Multiple URLsAsp.net (Core) - 导航到多个 URL
【发布时间】:2018-02-08 18:20:09
【问题描述】:

使用Custom URL Protocol我为自己设置了一个名为Updater的url,这意味着当我调用以下控制器时;

第一个例子:

public IActionResult Launch()
{
    return Redirect("Updater:");
}

它在我的机器上运行一个 .exe 文件。但是,我想之后将我的网页重定向到主页。应该是这样的;

第二个例子:

public IActionResult Launch()
{
    Redirect("Updater:"); // launch my application

    return View("Index"); // and return to homepage
}

或在我的视图中是这样的;

第三个例子:

<a href1="@($"ETravelerUpdater:")" href2="@Url.Action("Index", "Home")">
    <img data-src="holder.js/100px280/thumb?theme=vine">
</a>

有没有简单的方法可以做到这一点?

编辑:第二个和第三个示例中显示的代码不起作用,它只是用来说明我要完成的工作。

【问题讨论】:

  • 为什么不将您的 Update: 代码包含到您的 Launch 操作中?
  • @DavidLee 哦,我明白你的意思了,如果我按照你的建议去做,代码将在服务器上运行。但是,如果安装了 .exe,当前代码将在客户端计算机上运行。
  • 不确定我是否理解您的情况,但您可以在您的应用程序或主页上将客户端重定向到您的网址。您可以使用 javascript 或 jquery 来执行此操作。例如,您可以在加载索引页面时运行它。 window.location.href = "MyUpdaterLink.com";
  • @DavidLee 有没有办法在没有 javascript 的情况下做到这一点?
  • 我很难在没有看到所有部分的情况下提供解决方案。据我所知,我建议使用 javascript。我认为 ASP.NET 不会让您从一个操作中加载两个页面。

标签: asp.net razor asp.net-core-mvc response.redirect


【解决方案1】:

除了David Lee's answer 我想提供一个答案,允许用户使用javascript同一标签上导航到多个 URL;

@model LaunchViewModel
<a href="javascript:Launch('ETravelerUpdater:|@Model.EmployeeName|SalesQuotes|@Model.AccessLevel')">
    <img data-src="holder.js/100px280/thumb?theme=sky&text=Sales%20Quotes" alt="Card image cap">
</a>

<script>
    async function Launch(url) {
        window.location.href = url;
        await sleep(1000);
        window.location.href = "./"; 
    }

    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }
</script>

点击anchor标签后,用户会跳转到url参数,等待一秒后,用户会跳转到第二个url,本例为首页。

【讨论】:

    【解决方案2】:

    在没有看到Updater: 操作的情况下,我对它的功能做了一些假设。无论哪种方式,这都应该让您了解如何使用来自客户端的 javascript 处理多个重定向。

    <script>
        function myFunction() {
            window.open('MyUpdaterLink.com', '_blank'); // opens in new tab
            window.location.href = "MyIndexLink.com"; // opens in current window
        }
    </script>
    
    <button onclick="myFunction()">
        <img data-src="holder.js/100px280/thumb?theme=vine">
    </button>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-28
      • 2021-04-19
      • 2017-09-30
      • 1970-01-01
      相关资源
      最近更新 更多