ASP.NET MVC中的全局路由参数
问题描述:
当用户点击一个链接时,我想记录一些信息。我不能做一个AJAX请求,因为如果他们点击一个链接,页面将会卸载(因为他们正在进入一个新页面),我不想强迫他们留在页面上,直到一个同步事件饰面。ASP.NET MVC中的全局路由参数
所以我有一个想法是添加一个参数到网址。即该网址将是actual/action?actualParams&infoIWantToLog=data
。然后,我可以剥离我想记录的信息,记录下来,然后将他们的URL传递给他们实际想要去做的动作。这可能与MVC路由有关吗?
答
通常,跟踪URL会将用户发送到特定页面(在本例中为动作),例如/ Track,然后通过查询字符串将参数传递给日志(包括发送用户的URL)。
例如,转到Google并搜索一个术语。右键单击一个结果并复制该URL。现在将其粘贴到记事本中。您会发现它不是直接链接到搜索结果,而是Google跟踪页面。例如,当我搜索asp.net并单击第一个结果(www.asp.net),这是实际的URL谷歌向我:
该网页登录我的点击,然后将我重定向到www.asp.net网站。
您的跟踪操作可以做同样的事情。您将创建一个带有Index操作的Track控制器,然后在那里解析查询字符串,记录信息,然后将RedirectResult
返回给您要发送给用户的URL。
有意义吗?
“如果他们点击一个链接,页面将会卸载” - 这是怎么回事?正常的AJAX链接不会刷新/重新加载/卸载页面。 – bzlm 2010-09-17 17:51:00
@bzlm:对,这只是一个普通的ol链接。我们中的一些人仍然在使用它们:P – Xodarap 2010-09-17 21:30:41