我不确定如何标题这个问题。目前在我的Razor视图中,我有以下内容
@Html.ActionLink("Rank -1", "ChangeRank", new
{
id = item.ID,
newRank = (item.UserRank + 1),
PosiFilter,
TeamFilter,
CurrentFilter,
userLeagueID
})
最后一组数据,PosiFilter,TeamFilter,CurrentFilter等在我的视图中用于不同的@ Html.ActionLinks。有没有办法在我的页面开头设置所有这些,
@{
ViewBag.Title = "Index";
string PosiFilter = @ViewBag.posiFilter;
string TeamFilter = @ViewBag.teamFilter;
string CurrentFilter = @ViewBag.CurrentFilter;
int userLeagueID = @ViewBag.userLeagueID;
var GroupedRouteValues = PosiFilter, TeamFilter, CurrentFilter, userLeagueID
}
然后在像这样的动作链接中使用它们:
@Html.ActionLink("Rank -1", "ChangeRank", new
{
id = item.ID,
newRank = (item.UserRank + 1),
GroupedRouteValues
})
我尝试使用@ Url.Action,但如果我想为该特定链接添加额外的路由值,但我还没有弄清楚如何使用它,还包括之前的路由值。
答案 0 :(得分:0)
我找到了一种方法来自己做这件事。我使用this.Request.RawUrl发送一个字符串returnUrl与每个actionlink然后在我的控制器上我返回一个重定向到returnUrl而不是Redirect to Action或Return View()。
前视图:
@Html.ActionLink("Rank -1", "ChangeRank", new
{
id = item.ID,
newRank = (item.UserRank + 1),
returnUrl = this.Request.RawUrl
})
控制器之前
public ActionResult ChangeRank (int id, int newRank, string returnUrl)
{
//DO something
return Redirect(returnUrl);
}