使用参数导致多个页面加载并将app文件夹作为参数检索的URL路由

时间:2013-08-02 08:21:47

标签: asp.net c#-4.0 url-routing system.web.routing

我正在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是其中的文件。

1 个答案:

答案 0 :(得分:0)

您的网页中是否有指向 Scripts 文件夹的链接?如果这样做,您应该更正具有链接的脚本的地址。您应该在Ignore中使用Global.asax或为您的链接提供绝对地址或上传您的脚本并将其用作:

<script src="http://yourDomain.com/scripts/jquery-1.10.0.js"></script>