当javascript被禁用时,在点击超链接时调用控制器操作

时间:2017-07-13 09:14:16

标签: c# asp.net-mvc

我有一个带有以下代码的cshtml,我想记录用户点击的链接,该链接可能是外部网址。即使 javascript 被禁用,这也应该有用。

foreach (var featuredPod in Model.FeaturedPods)

 {
<a href="@featuredPod.LinkUrl" class="button blue prePopLink @linkClass">Find out more</a>
 }

2 个答案:

答案 0 :(得分:0)

您只能使用 @ Html.ActionLink 帮助吗?

@Html.ActionLink("Find out more", "Action", "Controller", new {Id=Model.Id}, new {@class="(...)"}

答案 1 :(得分:0)

如果要记录用户点击的内容,则需要在服务器上处理此内容并将用户重定向到真实链接

所以类似(假设模型中的每个featurePod都有某种形式的Id)

@Html.ActionLink("Find out more", "RecordAction", "RedirectController", new {Id=featuredPod.Id}, new {@class="", target="_blank"})

然后在RedirectController中的RecordAction动作

// get your Model.FeaturedPods where Id = passed in id
// record what the url is somewhere 
Return Redirect(featuredPod.LinkUrl)