我的动作结果如下:
public ActionResult MyFriends(Guid? friendId)
{
if (friendId != null){
return View(...);
{
else{
return View(...);
}
}
如果提供 friendId ,我会返回某个模型,我的视图知道该如何应对。否则,如果未给出 friendId ,则视图会相应地呈现。
<% if (Model.Friends != null) { %>
<h1>Your friends</h1>
[List of friends goes here]
<% } else if (Model.FriendId != null) { %>
<% Html.RenderAction("_FriendDetails", "friends", new { area = "friends", id = Model.FriendId }); %>
<%= Html.ActionLink("This link should not contain friendId", "myfriends") %>
<%= Html.ActionLink("Why does this work", "myfriends", "friends", new {friendId = (Guid?)null }, null)%>
<% } %>
我的问题是,当指定 friendId 时,页面上通常指向/ myfriends的所有其他链接都会开始链接到/ myfriends / e586cc32-5bbe-4afd-a8db-d403bad6d9e0
,这使得它很难回到初始/我的朋友输出。
请注意,我的项目约束要求我使用单个视图渲染此特定视图。通常,我会创建一个单独的“详细信息”视图,但在这种情况下,我使用动态导航,并且必须在单个视图中呈现两个输出。
另外,我在这里找到了类似的(未答复的)问题:ActionLink pointing to route not affected by current route