请孟子E章出来说二句吧?如何将真实的地址隐藏,重写URL呢?
解决方案 »
- 怎么在子页面获取母版页的Title ?分不多。。一人独得。。
- mvc3.0
- DropDownList中内容过长如何换行
- 什么是命令参数使用拼接字符串方式
- 有谁能帮我看一下啊,新建WEB应用程序项目时出现的问题,谢了
- datagrid中字段的如何设置邮件超链接
- 初学ASP.NET中的困惑,仙人指路。
- httpContext问题?通过Context.Session......取不到当前请求的Session
- 新手问题,数据库中设定唯一约束, asp.net 中如何接口?
- 今天有空,再提问题!
- 安全问题:怎么样让站点根目录下一个xml文件不能在web客户端浏览
- 大虾救命啊!repeater 嵌套中(DataRowView)出错
URL Rewriting in ASP.NET(
http://msdn.microsoft.com/library/en-us/dnaspp/html/urlrewriting.asp)
我们一般不希望使用下面的连接支持多语言:
http://www.mywebsite.com/default.aspx?lang=en
而是使用如下的连接来表示支持英语:
http://www.mywebsite.com/en/default.aspx
此时我们就需要使用URLRewriter来完成该工作,在ASP.NET中实现该技术非常容易,只要你实现了IHttpModule接口就可以完成该功能。
有关IHttpModule接口的详细说明以及范例请参考微软MSDN相关文档。
我们通常的做法是实现该接口,之后在配置文件里面配置该程序集到应用程序中使它可以处理URL重写的工作。
首先写一个实现一个IHttpModule接口的类如下:
public class URLRewrite : System.Web.IHttpModule
该接口有两个方法Init和Dispose分别实现之。
我们在实现Init方法的时候可以添加一个时间处理钩子来处理BeginRequest事件。如下所示:
public void Init(System.Web.HttpApplication application) {
application.BeginRequest+=new System.EventHandler(URLRewrite_BeginRequest);
}
接着我们就写事件处理函数如下:
public void URLRewrite_BeginRequest(object sender, System.EventArgs args) {
// 这里就是具体的URL解释器,该解释器将外部的URL解释成内部可以识别和处理的URL
// 解释完以后可以使用如下的方法重新定向请求
application.Context.RewritePath(url)//url是解释以后的连接
}
配置文件略!
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx
)如果不会使用URLRewriter可以直接使用上面的DLL文件,不过这个DLL文件有个缺点,如果你在这个重的URL的页面里执行单击事件,需要更改html<前缀名:form>元素,你可以在上面那里文章找到这个使用的方法
有时为了方便使用Iframe,但被潜入的页面长度不是固定的,显示滚动条不仅影响美观还对用户操作带来不便,自动调整高度可以解决这个问题。^_^<SCRIPT LANGUAGE="JavaScript">function f_frameStyleResize(targObj){ var targWin = targObj.parent.document.all[targObj.name]; if(targWin != null) { var HeightValue = targObj.document.body.scrollHeight if(HeightValue < 600){HeightValue = 600} //不小于600 targWin.style.pixelHeight = HeightValue; }}function f_iframeResize(){ bLoadComplete = true; f_frameStyleResize(self);}var bLoadComplete = false;window.onload = f_iframeResize;</SCRIPT>
注意:iframe必须要有name属性,否则无效。