从列表中选择一个随机URL并显示为URL

时间:2014-02-20 02:51:46

标签: asp.net html5 razor-2

我正在使用Visual Studio 2012并使用" ASP.NET网站(Razor v2)"创建网页。 我使用Java生成随机链接;

<script>
 var random = new Array();
 random[0] = "example1.com";
 random[1] = "pattern1.com";
 random[2] = "specimen1.com";
</script>

<script>
    function randomlink() {
        window.location = random[Math.floor(Math.random() * random.length)];
    }
</script>

<a href="javascript:randomlink()" style="color: black;">A Random URL</a>

当我点击A Random URL链接时,它会从上面脚本的列表中打开一个随机页面。我一切都很好,但因为它是一个非常大的清单,我需要一种方法来做同样的事情,而不是在HTML中,因为它减慢了页面的加载,因为它在_SiteLayout.cshtml中。感谢。

2 个答案:

答案 0 :(得分:2)

您可以选择以下选项:

  1. 将所有网址发送到客户端,让客户随机选择。
  2. 让服务器预先挑选随机网址并仅将其发送给客户端(它可以直接放入<a>链接。完全不需要javascript。
  3. 对服务器进行ajax调用以请求随机链接,当返回时,请转到它。
  4. 向服务器发出get请求,让服务器返回重定向到随机选择的URL。
  5. 如果你有很多URL,听起来你不想实现第一个选项。

    第二个选项可能是最简单的,因为它只需要稍微修改页面的生成并且不需要新的服务器API。您只需要弄清楚如何在服务器端环境中选择随机URL。

    第三个和第四个选项效率最低,因为它们需要调用服务器,服务器使用新URL进行响应,然后客户端重定向到实际URL。

答案 1 :(得分:1)

当它从服务器呈现时,我会将随机URL与页面一起传递。您可以使用c#'s Random类在服务器上生成网址。

<a href='@Model.RandomUrl' style="color: black;">A Random URL</a>

只需传递您在视图中引用的模型。