色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

asp.net url重寫后頁面回傳問題

具體辦法如下:可以通過自定義頁面基類,重寫默認的HtmlTextWriter方法,重寫屬性輸出WriteAttribute(string name, string value, bool encode)方法,當輸出action時,將action屬性的值強制轉換為當前虛URL(HttpContext.Current.Request.RawUrl,上面的~/showVisasAll_(/w+)/.ASPx)
最后就是讓所有的頁面都調用這個基類,修改一下Web.config就好了
<!-- Openlab.Controls.OLPage為頁面基類,Openlab.Controls為基類所在dll -->
<pages pageBaseType="Openlab.Controls.OLPage, Openlab.Controls"/>
附頁面基類完整代碼(參考CS代碼完成):
復制代碼 代碼如下:
using System;
using System.IO;
using System.Web;
using System.Web.UI;
namespace Openlab.Controls
...{
/**//// <summary>
/// 頁面基類
/// </summary>
public class OLPage : Page
...{
public OLPage()
...{
}
Render#region Render
/**//// <summary>
/// 重寫默認的HtmlTextWriter方法,修改form標記中的value屬性,使其值為重寫的URL而不是真實URL。
/// </summary>
/// <param name="writer"></param>
protected override void Render(HtmlTextWriter writer)
...{
if (writer is System.Web.UI.Html32TextWriter)
...{
writer = new FormFixerHtml32TextWriter(writer.InnerWriter);
}
else
...{
writer = new FormFixerHtmlTextWriter(writer.InnerWriter);
}
base.Render(writer);
}
#endregion
}
FormFixers#region FormFixers
FormFixerHtml32TextWriter#region FormFixerHtml32TextWriter
internal class FormFixerHtml32TextWriter : System.Web.UI.Html32TextWriter
...{
private string _url; // 假的URL
internal FormFixerHtml32TextWriter(TextWriter writer):base(writer)
...{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name, string value, bool encode)
...{
// 如果當前輸出的屬性為form標記的action屬性,則將其值替換為重寫后的虛假URL
if (_url != null && string.Compare(name, "action", true) == 0)
...{
value = _url;
}
base.WriteAttribute(name, value, encode);
}
}
#endregion
FormFixerHtmlTextWriter#region FormFixerHtmlTextWriter
internal class FormFixerHtmlTextWriter : System.Web.UI.HtmlTextWriter
...{
private string _url;
internal FormFixerHtmlTextWriter(TextWriter writer):base(writer)
...{
_url = HttpContext.Current.Request.RawUrl;
}
public override void WriteAttribute(string name, string value, bool encode)
...{
if (_url != null && string.Compare(name, "action", true) == 0)
...{
value = _url;
}
base.WriteAttribute(name, value, encode);
}
}
#endregion
#endregion
}

AspNet技術asp.net url重寫后頁面回傳問題,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 邯郸市| 厦门市| 汤原县| 怀化市| 涪陵区| 栖霞市| 同仁县| 开化县| 新乡市| 泸水县| 汝城县| 宝丰县| 大安市| 子洲县| 平山县| 龙门县| 玉门市| 鹤山市| 阳新县| 西宁市| 万载县| 呈贡县| 甘孜县| 石林| 托克托县| 宝清县| 望江县| 涞源县| 大关县| 昭平县| 常山县| 昭觉县| 诏安县| 衢州市| 安西县| 绥棱县| 湘乡市| 潼南县| 醴陵市| 新野县| 泾川县|