在 MVC5 中如何打开一个新的 window 并传递一个参数?

In MVC5 how do I open a new window and pass a parameter?

我想在新的 window 中打开一个音频控件,并将文件名从 MVC5 视图传递给音频控件。

我可以在 MVC5 视图中使用以下代码打开一个简单的 html 页面:

<a href="Music/Music.html"
   onclick="window.open('Music/Music.html',
                         'newwindow',
                         'width=600,height=200');
              return false;">html Link</a>

然后 Music.html 页面使用以下代码加载并播放文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
  <audio controls>
    <source src="001.mp3" type="audio/mp3"> audio playback requires IE9 or above
  </audio>
</body>
</html>

一切正常,但我真的想将文件名传递给新页面,以便 src 加载我传递的任何文件名。我不知道如何做到这一点,或者是否有更好更有效的方法使用 MVC5 的其他功能来做到这一点。

根据 Joe Warner 的建议答案在原始 post 之后添加:

此代码位于家庭控制器的 index.vbhtml 中:

@Code
  Dim myUrl As String = "Music/Music.html?003.mp3"
End Code

<a href="@myUrl"
   onclick="window.open('@myUrl','_blank','width=600,height=100');
              return false;">
  html link a
</a>

<a href="@myUrl" onclick="myOpenWindow">
  html link b
</a>

@Section Scripts
  <script type="text/javascript">
    function myOpenWindow() {
      window.open('@myUrl', '_blank', 'width=600,height=100').focus();
    }
  </script>
End Section

这是目标 Music.html 页面

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>

<body>
  <audio controls>
    <source src="" id="audio" type="audio/mp3"> audio playback requires IE9 or above
  </audio>

  <script>
    document.addEventListener("DOMContentLoaded", function() {
      document.getElementById('audio').src = window.location.search.substr(1)
    });
  </script>
</body>

</html>

对于 html link ahtml link b,目标 Music.html 页面加载并播放 003.mp3。但是 html link a 打开一个新的 window 并且 html link b 替换现有的 window.

我确定我犯了一个基本错误,但为什么我不能将内联 window.open javascript 移动到一个函数中,以便它可以被可能存在的其他元素调用在页面上?

<a href="Music/Music.html" onclick="openWindow">html Link</a>

在单击时附加一个功能,然后用“_blank”打开 window 这会在新的 window 或选项卡中打开文档。

function openWindow() {
  window.open("/Music/Music.html?filenameyouwant", "_blank",
    "width=600, height=200"
  ).focus();
}

为源添加一个 id HTML

<source src="001.mp3" id="audio" type="audio/mp3">

然后 select 它使用 javascript 并将它的 src 设置到你去过的 url 的末尾 你会想要包装 url 参数,直到 dom 加载完毕,否则将没有源元素

?filenameyouwant

document.addEventListener("DOMContentLoaded", (event) => {
  document.getElementById('audio').src = window.location.search.substr(1)
});