【问题标题】:Pick a random url from list and display as URL从列表中选择一个随机 url 并显示为 URL
【发布时间】:2014-02-20 02:51:46
【问题描述】:

我使用 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>

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

【问题讨论】:

    标签: asp.net html razor-2


    【解决方案1】:

    您可以选择以下选项:

    1. 将所有 URL 发送给客户端,让客户端随机选择。
    2. 让服务器预先选择随机 URL,然后只将那个 URL 发送给客户端(可以直接放入 &lt;a&gt; 链接。根本不需要 javascript。
    3. 对服务器进行 ajax 调用以请求随机链接,当返回时,转到它。
    4. 向服务器发出 get 请求,并让服务器将重定向返回到随机选择的 URL。

    如果你有无数个 URL,听起来你不想实现第一个选项。

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

      猜你喜欢
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-18
      相关资源
      最近更新 更多