5

ASP.Net Webアプリケーション(MVCではない)のパス(URL)を介してユーザーコントロール/ページにパラメーターを渡す方法はありますか?

つまり 、 http://abc.com/news/para-1/para-2 ここでpara-1、およびpara-2はパラメータです。

4

3 に答える 3

5

あなたが探しているのは と呼ばれるものRoutingです。

.NET 4+ を使用している場合は、MSDNで Web フォーム アプリケーションに実装する方法を参照できます。

news.aspxあなたが行きたい場所であると仮定すると、あなたのルールは本質的にこれに帰着します:

routes.MapPageRoute("NewsRoute",
    "News/{arg1}/{arg2}",
    "~/news.aspx");

次に、次のいずれかの方法を使用して値にアクセスできます。

Page.RouteData.Values["arg1"]
<asp:Literal ID="Literal" Text="<%$RouteValue:arg1%>" runat="server"></asp:Literal>

.NET 4 以降を使用していない場合は、NuGet で利用できるASP.NET FriendlyUrlsについて Scott Hanselman が書いています。

于 2013-01-15T11:39:46.173 に答える
2

ASP.NET フレンドリ URLを使用できます

ASP.NET Friendly URL ライブラリを使用すると、ASP.NET アプリケーションでファイルベースのハンドラー (ASPX、ASHX など) の拡張子のない URL を簡単に有効にできます。

Scott Hanselman による優れた紹介があります。

于 2013-01-15T11:42:03.370 に答える
1

QueryStringsを使用してみてください。

次のようにページをリダイレクトします。

Response.Redirect("Webform2.aspx?Name=" +
this.txtName.Text + "&LastName=" +
this.txtLastName.Text);

そして、新しいページで次のような値を取得します。

private void Page_Load(object sender, System.EventArgs e)
{
    this.txtBox1.Text = Request.QueryString["Name"];
    this.txtBox2.Text = Request.QueryString["LastName"];
} 
于 2013-01-15T11:44:03.887 に答える