传递参数ASP.Net

本文关键字:Net ASP 参数 | 更新日期: 2023-09-27 17:53:07

是否有任何方法,我可以通过路径(URL)传递参数到一个用户控件/页面在ASP。. Net Web应用程序(不是MVC)。

。http://abc.com/news/para-1/para-2其中para-1para-2为参数

传递参数ASP.Net

您要找的是Routing

如果你正在使用。net 4+,你可以阅读如何在MSDN上的Web Forms应用程序中实现它。

你的规则基本上归结为,假设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+, Scott Hanselman写过关于ASP的文章。. NET FriendlyUrls

可以使用ASP。. NET友好url

ASP。. NET友好的url库使其易于启用中基于文件的处理程序(例如ASPX, ASHX)的无扩展urlASP。NET applications .

Scott Hanselman有一个很好的介绍:介绍ASP。. NET FriendlyUrls——更清晰的url,更简单的路由,以及针对ASP的移动视图。. NET Web Forms

您可以尝试使用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"];
}