3

我有一个 ASP.NET 网站,它使用 URL 重写规则来提供有意义的 URL。网址:

www.example.com/folder/reports/{name}

被改写为:

www.example.com/index.aspx?Title={name}

现在,页面linkbutton上有一个index.aspx(点击事件中没有任何代码)。当我单击按钮时,停留在 URL: 上www.example.com/folder/reports/{name},而不是在回发后停留在相同的 URL 上,它转到 URL: www.example.com/folder/reports/{name}?Title={name}并因此显示错误消息。

有人可以解释为什么按钮单击导致这个错误的 URL,即使页面上的刷新让我在同一页面上?

这是我的web.config规则配置:

<rule name="Rewrite to page">
  <match url="(.*)/reports/(.*)" />
  <conditions>
    <add input="{REQUEST_FILENAME}" pattern="(.*(\.html|\.htm|\.aspx)$)" negate="true" />
  </conditions>
  <action type="Rewrite" url="/index.aspx?Title={R:2}" />
</rule>
4

1 回答 1

5

我能够通过在母版页的 Page_Load 事件中添加这一行来解决这个问题:(其中“Form1”是母版页中使用的 asp 表单)

Form1.Action = Request.RawUrl;
于 2013-05-29T05:03:57.233 回答