有什么方法可以通过 ASP.Net Web 应用程序(不是 MVC)中的路径(URL)将参数传递给用户控件/页面。
即
http://abc.com/news/para-1/para-2
其中para-1
和para-2
是参数。
有什么方法可以通过 ASP.Net Web 应用程序(不是 MVC)中的路径(URL)将参数传递给用户控件/页面。
即
http://abc.com/news/para-1/para-2
其中para-1
和para-2
是参数。
您要查找的内容称为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+,Scott Hanselman 撰写了有关ASP.NET FriendlyUrls 的文章,它在 NuGet 中可用。
您可以使用ASP.NET 友好 URL
ASP.NET 友好的 URL 库使得在 ASP.NET 应用程序中为基于文件的处理程序(例如 ASPX、ASHX)启用无扩展 URL 变得很容易。
Scott Hanselman 有一篇很好的介绍:介绍 ASP.NET FriendlyUrls - 更简洁的 URL、更简单的路由和 ASP.NET Web 窗体的移动视图
您可以尝试使用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"];
}