【发布时间】:2015-02-12 17:12:09
【问题描述】:
我知道 - 你要说的第一件事是“使用推荐人!”
但那是错误的答案,我会解释原因。
假设您在一个页面上,比如说“员工”,它有一个搜索。名称的搜索字段在提交时会生成一个员工表。在该表中,Employee Name 是一个可点击的对象,在本例中是一个超链接。该链接转到员工详细信息页面。在那个页面上,实际上什么都没有,因为那个页面实际上从一个子页面加载了一堆 Angular 数据。
所以,问题: 在员工上,您单击一个链接:
http://localhost/EmployeeData#/details/cc30e1f8-b21c-4384-9710-e927686c925c
该链接将您带到 EmployeeData 控制器和索引视图。索引视图加载了 details.html,这是一个充满数据的角度幸福。效果很好。
但是在索引视图中,有一小段代码告诉细节在哪里显示,并且有一个面包屑。因此,在 Index ViewResult (EmployeeData/Index.aspx) 中,我希望能够从将您带到那里的链接中提取 GUID...但是当我使用引荐来源网址时,它只会告诉我“您来自员工搜索”。
public ViewResult Index()
{
var vm = _vmp.GetViewModel<EmployeeDataViewModel>();
vm.Breadcrumb = CreateBreadCrumbDisplay();
return View(vm);
}
public string CreateBreadCrumbDisplay()
{
var referrer = (Request.UrlReferrer != null) ? Request.UrlReferrer.AbsoluteUri : string.Empty;
var curUrl = Request.ServerVariables["SCRIPT_NAME"];
//do lots of stuff
return theBreadCrumb;
}
在这种情况下,CreateBreadCrumbDisplay 只返回 http://localhost/Employee。并且 curUrl 只有“EmployeeData”,这要归功于 Angular 页面中发生的所有真实数据,而不是实际上在 Index 视图中。
所以,我需要做的是获取带有 ID 的完整 URL,然后将该 ID 传递给我的“CreateBreadCrumbDisplay”方法。
想法?
【问题讨论】:
标签: javascript angularjs model-view-controller