【问题标题】:c# rewrite url postback issuec#重写url回发问题
【发布时间】: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 被重写时才会发生这种情况。

我尝试在互联网上搜索解决方案,但没有找到合适的解决方案。

我在这里发现了一些具有相同问题的问题,但它对我没有帮助

ASP.NET postbacks creates issue in URL rewriting?

rewrite url. asp.net c#

PostBack Url in Rewriting Url using UrlRewriting.Net

【问题讨论】:

  • 问号后的 URL 中的属性是选项,因此将 Status=Create 更改为子文件夹 /Create 是错误的。您需要一个名为 Create 的新网页。
  • 对不起,@jdweng 我没听懂你,也不知道你听不懂。我提到网页在重写时可以正常工作,问题是回发时

标签: c# asp.net url-rewriting


【解决方案1】:

尝试使用,

$( window ).load(function() {Store Value Here }); 

.load 事件 Jquery 中的重写 URL 存储,它将在回发时拥有该值。

【讨论】:

  • 亲爱的@Muhammad-ali 你能给我解释一下吗
  • 由于回发重写值丢失,所以我们使用jquery的加载事件来保存值,当你将值存储在加载事件中时,回发将保持不变。
  • 或者你可以在后面的代码中加载pageload()上的值。
猜你喜欢
  • 2011-07-08
  • 2013-01-16
  • 2011-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多