代码之家  ›  专栏  ›  技术社区  ›  Xodarap

ASP.NET MVC中的全局路由参数

  •  0
  • Xodarap  · 技术社区  · 14 年前

    当用户单击链接时,我想记录一些信息。我不能执行Ajax请求,因为如果他们单击了一个链接,页面将被卸载(因为他们将要访问一个新页面),我不想强迫他们在同步事件完成之前停留在页面上。

    所以我有一个想法就是给URL添加一个参数。也就是说,网址是 actual/action?actualParams&infoIWantToLog=data . 然后我可以去掉我想要记录的信息,记录这些信息,然后将它们的URL传递给它们实际想要执行的操作。这是否可能与MVC路由有关?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Scott Mitchell    14 年前

    通常,跟踪URL会将用户发送到特定的页面(在本例中是操作),例如,/track,然后通过查询字符串将参数传递给日志(包括发送用户的URL)。

    例如,去谷歌搜索一个词。右键单击结果并复制URL。现在把它贴到记事本上。你会发现它不是搜索结果的直接链接,而是谷歌跟踪页面。例如,当我搜索 ASP.NET 然后单击第一个结果(对于www.asp.net),这是Google发送给我的实际URL:

    http://www.google.com/url?sa=t&source=web&cd=2&ved=0CDcQFjAB&url=http%3A%2F%2Fwww.asp.net%2Fget-started&rct=j&q=asp.net&ei=BauTTIuCDIaWsgOHgo3ACg&usg=AFQjCNGR6cOBKtUWIKZs9jnpz0vYRDu_EA&sig2=r2q31zniuxHQ4Y6BIoudow&cad=rja

    该页面记录了我的单击,然后将我重定向到www.asp.net网站。

    你的追踪行动也会做同样的事情。您将创建一个带有索引操作的跟踪控制器,然后在其中解析查询字符串,记录信息,然后返回 RedirectResult 发送给用户的URL。

    有道理?