Javascript 如何将带有查询字符串的当前Url传递到MVC中的Html.ActionLink()函数中

Javascript 如何将带有查询字符串的当前Url传递到MVC中的Html.ActionLink()函数中,javascript,asp.net-mvc,asp.net-mvc-4,razor,html.actionlink,Javascript,Asp.net Mvc,Asp.net Mvc 4,Razor,Html.actionlink,在https://www.willistowerswatson.com/en/presspage,在“服务”方面选择“Exchange解决方案”,并注意查询字符串如何更改为: https://www.willistowerswatson.com/en/press#sort=%40fdisplayz45xdate47442%20descending&f:@businesssegmentsubl\u coveofacets\u 1=[Exchange%20解决方案] 然后,当您单击“订阅RSS”按钮

https://www.willistowerswatson.com/en/press
page,在“服务”方面选择“Exchange解决方案”,并注意查询字符串如何更改为:

https://www.willistowerswatson.com/en/press#sort=%40fdisplayz45xdate47442%20descending&f:@businesssegmentsubl\u coveofacets\u 1=[Exchange%20解决方案]

然后,当您单击“订阅RSS”按钮时,将打开一个新选项卡,其中保留了那些查询字符串参数(由facet选择生成)

现在我们正在将Coveo搜索转换为MVC视图,我想复制这种行为。在我的Search.cshtml文件中,对于“通过RSS订阅”链接,我有以下代码:

@Html.ActionLink(Translate.TextByDomain(StringConstants.DictionaryDomains.WTW, "Subscribe by RSS"), "ReturnRSS", "Search", new { @itemId = Sitecore.Context.Item.ID.ToString() }, new { target = "_blank" })
代码在我的视图源代码中生成的HTML如下:

<a href="/api/sitecore/Search/ReturnRSS?itemId=%7BE1EB2D45-066F-4F8F-8B9B-049E7918A034%7D" target="_blank">Subscribe by RSS</a>

并且它成功地调用了我的
公共类SearchController:GlassController
类中的my
public void ReturnRSS(string itemId)
函数

我的挑战是,我还想将当前页面URL及其查询字符串发送到
ReturnRSS(string itemId)
函数中,在呈现HTML和选择facet后,该URL可以更改。换句话说,一旦在“服务”方面选择了“Exchange解决方案”,并单击了“通过RSS订阅”链接,我还想将
&f:@businesssegmentsubl\u CoveOfcets\u 1=[Exchange%20Solutions]
参数发送到“ReturnRSS”功能中


我该怎么做?我是否应该调用
@Html.ActionLink
以外的其他函数

您不必使用操作链接。 显然,在呈现服务器端时,您不知道要发送的URL

仅呈现您知道当时可以呈现的内容(即路线+项目ID)(自定义扩展?),并通过JS函数调整其余内容

例:

button.onClick = () => {
   window.open(getURL(), "_blank");
}