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

asp.net url重寫(xiě)后頁(yè)面回傳問(wèn)題

具體辦法如下:可以通過(guò)自定義頁(yè)面基類(lèi),重寫(xiě)默認(rèn)的HtmlTextWriter方法,重寫(xiě)屬性輸出WriteAttribute(string name, string value, bool encode)方法,當(dāng)輸出action時(shí),將action屬性的值強(qiáng)制轉(zhuǎn)換為當(dāng)前虛URL(HttpContext.Current.Request.RawUrl,上面的~/showVisasAll_(/w+)/.ASPx)
最后就是讓所有的頁(yè)面都調(diào)用這個(gè)基類(lèi),修改一下Web.config就好了
<!-- Openlab.Controls.OLPage為頁(yè)面基類(lèi),Openlab.Controls為基類(lèi)所在dll -->
<pages pageBaseType="Openlab.Controls.OLPage, Openlab.Controls"/>
附頁(yè)面基類(lèi)完整代碼(參考CS代碼完成):
復(fù)制代碼 代碼如下:
using System;
using System.IO;
using System.Web;
using System.Web.UI;
namespace Openlab.Controls
...{
/**//// <summary>
/// 頁(yè)面基類(lèi)
/// </summary>
public class OLPage : Page
...{
public OLPage()
...{
}
Render#region Render
/**//// <summary>
/// 重寫(xiě)默認(rèn)的HtmlTextWriter方法,修改form標(biāo)記中的value屬性,使其值為重寫(xiě)的URL而不是真實(shí)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)
...{
// 如果當(dāng)前輸出的屬性為form標(biāo)記的action屬性,則將其值替換為重寫(xiě)后的虛假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技術(shù)asp.net url重寫(xiě)后頁(yè)面回傳問(wèn)題,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 吕梁市| 韶关市| 南郑县| 黄大仙区| 沐川县| 大埔县| 云南省| 伊宁县| 韶山市| 宁化县| 上杭县| 大丰市| 阜宁县| 陇西县| 新丰县| 博白县| 休宁县| 隆德县| 龙南县| 栾城县| 上虞市| 西和县| 大化| 沁水县| 建阳市| 诸城市| 南川市| 鱼台县| 罗甸县| 金堂县| 平湖市| 哈尔滨市| 新密市| 山东| 塘沽区| 石渠县| 江山市| 西昌市| 汉中市| 怀柔区| 清新县|