传递参数ASP.Net
本文关键字:Net ASP 参数 | 更新日期: 2023-09-27 17:53:07
是否有任何方法,我可以通过路径(URL)传递参数到一个用户控件/页面在ASP。. Net Web应用程序(不是MVC)。
。http://abc.com/news/para-1/para-2其中para-1
、para-2
为参数
您要找的是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"];
}