asp .net 4.0 アプリケーションに URL ルーティングを実装しています。
いくつかのパラメーターを使用して別のページにリダイレクトするハイパーリンクがあります。
最初のページが読み込まれるまではすべて問題ありません。値を取得でき、ページが適切に読み込まれます。その後、ページが再度読み込まれ、今回は RouteData.Values にアプリケーションフォルダー名があります。
誰でもこれを説明できますか
グローバル 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 はアプリケーションのフォルダー名の 1 つであり、validation.js はその中のファイルです。