我在我的 asp .net 4.0 应用程序中实现 URL 路由。
我有一个超链接,它使用一些参数重定向到另一个页面。
在第一个页面加载之前一切都很好,我能够获取值并且页面加载良好,之后我的页面再次被加载,这次我在 RouteData.Values 中有我的应用程序文件夹名称。
谁能解释一下
在 Global asax 文件中我的路线如下
RouteTable.Routes.MapPageRoute("CategoryCodesListView", "CategoryCodesListView/{CatRefID}/{HasSubCat}", "~/CategoryList.aspx");
我的重定向页面代码
HyperLink linkItem = (HyperLink)e.Row.FindControl("linkItem");
RouteValueDictionary parameters =
new RouteValueDictionary
{
{"CatRefID",RefCodeSysID },
{ "HasSubCat",lblHasSubCategory.Text }
};
VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, "CategoryCodesListView", parameters);
linkItem.NavigateUrl = vpd.VirtualPath;
我的接收页面代码是 string CatRefID= Convert.ToString(Page.RouteData.Values["CatRefID"])
可以说我通过了
CatRefID="Cat1" and HasSubCat="true";
对于第一页加载,我得到相同的值。
但是在页面加载后,页面再次加载,现在我的值是
CatRefID="Scripts" and HasSubCat="validations.js";
其中 Scripts 是我的应用程序中的文件夹名称之一,validations.js 是其中的一个文件。