使用Jquery调用Asp.net生成的webservice
By 追风逐月 • Aug 8th, 2007 • Category: 技术开发, 网站建设厌倦了very very不爽的ms ajax.net类库,终于决定要使用jquery把它替换掉。
Jquery的好处,就不用说了,简单,方便,人见人爱,车见车载啊… …
厌倦了very very不爽的ms ajax.net类库,终于决定要使用jquery把它替换掉。
Jquery的好处,就不用说了,简单,方便,人见人爱,车见车载啊… …
一直以来都在项目中使用了UrlRewritingNet模块来实现url重定向的功能,很是方便好用。但有一个问题一直没有解决,就是当用户访问需要登陆的页面是会自动转到login页面,这时其returl参数会将原始的url暴露出来,很是不爽。
今天花了点时间研究了一下,发现
UrlRewriteModule是在BeginRequest事件中进行重写的
Form认证模块(FormsAuthenticationModule)是在AuthenticateRequest中进行权限判断的
AuthenticateRequest事件晚于BeginRequest执行,所以认证过程中产生的returl肯定是取不到原始的rawurl了
为了让returl能够保持为原始的url,需要将UrlRewriteModule的重写改在AuthorizeRequest事件中执行
UrlRewritingNet没有提供这种选项,所幸的是这是个开源的工程,于是将其代码进行了一些修改。增加了一个RewriteOnRequestBegin的配置参数,在其初始化方法中修改代码如下:
PLAIN TEXT
C#:
if (UrlRewriting.Configuration.RewriteOnRequestBegin)
{
context.BeginRequest += new EventHandler(OnBeginRequest);
}
[…]
最近因为要做公司网站要国际化,接触了一些关于将Asp.net网站国际化的内容。
先从网上搜索了一下,无非是使用资源文件,设置本地配置之类的,感觉并不完全符合自己的要求。
我本人的要求是这样的:
希望能够统一进行处理,不用维护多套程序
结构上比较清晰,每种语言使用不同的文件夹分开
可以可视化的对页面进行修改
能够自动根据浏览器设置默认的语言
能够记住用户对语言的选择
为此我是这样设计的
在web.config的system.web节中设置
前三项设置编码类型为utf-8,作为一个国际化网站,使用utf-8编码是最普遍也最保险的做法,后面的两项设置本地语言编码,如果不设置为Auto,下面根据浏览器自动识别语言的功能将无法生效
在Global.asax文件中处理Application_BeginRequest事件,根据浏览器类型自动重定向页面
PLAIN TEXT
C#:
///定义语言代码
public enum Lang{
cn=2052,
en=1033,
}
///获取语言编码,如果存在cookie则从cookie中取值,否则根据浏览器自动判断
public Lang getlanguage
{
get {
HttpCookie cook= Context.Request.Cookies[“language”];
[…]