0

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 はその中のファイルです。

4

1 に答える 1

0

ページにScriptsフォルダへのリンクがありますか? その場合は、スクリプトへのリンクがあるスクリプトのアドレスを修正する必要があります。を使用IgnoreするGlobal.asaxか、リンクに絶対アドレスを指定するか、スクリプトをアップロードして次のように使用する必要があります。

<script src="http://yourDomain.com/scripts/jquery-1.10.0.js"></script>
于 2013-08-13T16:34:02.040 に答える