【发布时间】:2018-04-17 13:24:26
【问题描述】:
我正在尝试在我的项目中重写 URL,它工作正常
例如。 原始网址是 http://localhost:50260/u_SaleCom/Product.aspx?Status=Create 我将其重写为 http://localhost:50260/u_SaleCom/Product/Create 通过使用 web.config 中的代码
<system.webServer>
<rewrite>
<rules>
<rule name="rewrite to u_SaleCom Product pages 1 QueryString" stopProcessing="true">
<match url="^u_SaleCom/Product/([a-zA-Z0-9=]+)" />
<action type="Rewrite" url="u_SaleCom/Product.aspx?Status={R:1}" />
</rule>
</rules>
</rewrite>
</system.webServer>
所以到目前为止一切正常,但是当通过单击任何按钮或在 DropDownList 中使用 AutoPostBack 进行页面回发时,页面 URL 将更改为 http://localhost:50260/u_SaleCom/Product/Create?Status=Create 只有当 URL 被重写时才会发生这种情况。
我尝试在互联网上搜索解决方案,但没有找到合适的解决方案。
我在这里发现了一些具有相同问题的问题,但它对我没有帮助
【问题讨论】:
-
问号后的 URL 中的属性是选项,因此将 Status=Create 更改为子文件夹 /Create 是错误的。您需要一个名为 Create 的新网页。
-
对不起,@jdweng 我没听懂你,也不知道你听不懂。我提到网页在重写时可以正常工作,问题是回发时
标签: c# asp.net url-rewriting