url重写的环境.
在使用控件的时候时候发现.当鼠标移过去的时候就出现了脚本错误.调试.一下子就发现了. .
WebResource.axd 原来是这个也是被重写处理了.结果位置不对.造成JS不能加载进来.
解决完了后.发现当鼠标移到菜单上的时候.发现了.
xxx.dddd.com/test.aspx 访问时
Menu路径变了.原本是 default.aspx 现在变成了 a.dddd.com/xxx/default.aspx 多了一个xxx
是我跟据域名条件重写的路径.
解决的话是把原来的 default.aspx 变成 ~/default.aspx 这样在url重写的路径访问是正常的但是
http://www.dddd.com/xxx/test.aspx 访问时 路径又不对了变成了 http://www.dddd.com/default.aspx 变成了这个.原本应该是 http://www.ddd.com/xxx/default.aspx
原因是控件本身对哪个跳转地址进行了处理.如果可以取消它的处理哪么就可以OK了.(待续)
还好自己没有必要用http://www.ddd.com/xxx/test.aspx 访问
下面这个是解决 form 提交的问题(代码网上抄的)
public
class
TemplateBasePage : Page

{
public TemplateBasePage()

{

}

/**//**/

/**//// <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);
}


}
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);
}
}
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);
}
}