asp.net重定向到另一个位置,而不是在navigateURL中设置

时间:2012-02-07 20:30:55

标签: c# asp.net redirect

在我的asp.net网站上我有菜单控件,还有以下项目:

<asp:menuitem ... navigateURL="~/Admin/admin.aspx">
<asp:menuitem ... navigateURL="~/Admin/search.aspx">

我想强制asp.net认为(或在网络浏览器地址栏中显示),我在admin.aspx上,但实际上被重定向到search.aspx。这有可能吗?

感谢。

3 个答案:

答案 0 :(得分:1)

网址重写听起来像是你所追求的:

http://weblogs.asp.net/scottgu/archive/2009/10/13/url-routing-with-asp-net-4-web-forms-vs-2010-and-net-4-0-series.aspx

如果您未能在页面中构建一些自定义逻辑并使用{​​{1}}更改页面,则无需更改网址。

答案 1 :(得分:1)

使用您显示的标记执行此操作,不,这是不可能的。您需要使用<iframe>通过javascript设置src属性,或者使用Server.Transfer而不是Response.Redirect通过代码隐藏设置来执行此操作。

答案 2 :(得分:0)

如果您愿意,可以设置customized routing,但仍会在地址栏中显示“search.aspx”。如果要将admin.aspx伪造为search.aspx,请将搜索控件添加到admin.aspx页面并隐藏管理控件。如果您正在尝试“欺骗”admin.aspx,就像您将使用电子邮件地址或其他内容一样,那么我将直接指向StackOverflow。