使用ASP.Net </httpredirect>中的<httpredirect>传递参数

时间:2013-01-22 07:16:51

标签: asp.net web-config parameter-passing http-redirect

在我的ASP.Net网站中,我使用网络配置中的<httpRedirect>将URL永久重定向到其他位置。
我正在从表中读取网址值,并使用Response.Redirect( URL );来重定向到该网址 它工作得很完美 但现在当我尝试使用:

将参数发送到调用页面时
Response.Redirect("Default.aspx?name=stackoverflow");
由于web.config中的以下代码,web.config中的

<httpRedirect>会调用Default2.aspx

<location path="Default.aspx">
    <system.webServer>
        <httpRedirect enabled="true" destination="Default2.aspx" httpResponseStatus="Permanent" />
    </system.webServer>
</location>

问题是Default2.aspx没有收到任何参数 请帮忙。

注意:我不能使用会话变量,因为页面内容取决于该参数。

例如,
如果用户使用Default.aspx?name=MetaStackOverflow会话变量在新标签页中打开另一个页面,则会替换该会话变量,如果首页已刷新,则会显示Stackoverflow内容,而不会显示MetaStackOverflow内容。

1 个答案:

答案 0 :(得分:6)

不要忘记特殊字符$ V $ Q并且必须将exactDestination设置为True。

<location path="Help"> <system.webServer> <httpRedirect enabled="true" destination="/Redirect.aspx$V$Q" httpResponseStatus="Permanent" exactDestination="true" /> </system.webServer> </location>