Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 使用Request.Url.AbsoluteUri构建面包屑链接_Asp.net_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

Asp.net 使用Request.Url.AbsoluteUri构建面包屑链接

Asp.net 使用Request.Url.AbsoluteUri构建面包屑链接,asp.net,asp.net-mvc,asp.net-mvc-4,Asp.net,Asp.net Mvc,Asp.net Mvc 4,在我的\u布局视图中,我添加了以下链接,以刷新当前页面作为面包屑栏的一部分: <a href="@Request.Url.AbsoluteUri"> @(aoutput == "Index" ? "Home" : aoutput) </a> 以上内容在我的开发环境中运行良好,但我不确定使用Request.Url.absulteuri是否是引用当前页面Url的正确方法?包括(例如http)、主机、端口、路径、查询字符串数据和。据我所知,片段不会包含在当前URL中,因为

在我的
\u布局
视图中,我添加了以下链接,以刷新当前页面作为面包屑栏的一部分:

<a href="@Request.Url.AbsoluteUri"> @(aoutput == "Index" ? "Home" : aoutput) </a>

以上内容在我的开发环境中运行良好,但我不确定使用
Request.Url.absulteuri
是否是引用当前页面Url的正确方法?

包括(例如
http
)、主机、端口、路径、查询字符串数据和。据我所知,片段不会包含在当前URL中,因为它不是随请求一起发送的(也就是说,它是由浏览器客户端处理的)

这应该可以使用,并且不太可能给您带来问题。请注意,其中包含查询字符串数据,这意味着如果您有一个(设计糟糕的)数据操作系统,例如
/Users/Index?action=deleteMostRecentUser
,那么用户可能会意外删除用户,因为URI将包含
操作

替代品是

  • /Home/Index
  • /Home/Index?query=关键字

您可以按照您提到的那样使用它。 创建单独的局部视图以实现breadcrumb的更好方法。 并从控制器端传递想要的模型。(或在ViewBag中)

主要的好处是,您可以更好地控制逻辑,并且可以灵活地进行未来的更改。
希望有帮助

感谢您的回复,但您所说的(设计糟糕的)数据操作系统是指我使用Get请求而不是Post删除记录,而我的系统中不是这样吗?我的系统中的所有添加、编辑和删除都是使用Post请求发出的,因此面包屑链接将只发送Get请求。。我错过了什么?