比如说PC的IE和PocketPC的IE,选择不同的LoginURL <authentication mode="Forms">
<forms name="myform" loginUrl="login.aspx" protection="All" timeout="120"/>
<forms name="myform" loginUrl="login.aspx" protection="All" timeout="120"/>
解决方案 »
- C#怎么对页面文本框输入的字符串进行验证?
- 如何catch错误后,显示错误,然后倒数10秒进入指定的页面?
- ■■■■■■■■■■怎么样替换Web.config里面的内容■■■■■■
- xml问题
- 如何用CommandArgument传递多个参数??
- 关键字显示问题(在线等)
- win2003+IIS6.0 关闭iis admin service服务之后还是不能保存修改之后的metabase.xml,高手指点。
- 无奈搜索引擎!!!
- 多表查询,提示table存在的问题
- 在ASP中如何取得一个字符串中的第N个字符?
- 那位能帮忙 提供 关于局域网与atm方面的中英文资料??
- 使用正则表达式,如何去掉html中的<img src=''onclick='' style=....>
不过不知道代码处理之后怎么结合form验证
或者直接判断UserAgent
1.
MobileCapabilities currentCapabilities = (MobileCapabilities)HttpContext.Current.Request.Browser;
if (currentCapabilities.IsMobileDevice)
HttpContext.Current.Server.Transfer("Login2.aspx", true);
else
HttpContext.Current.Server.Transfer("Login1.aspx", true);
...
2.
String url = HttpContext.Current.Request.Path;
String userAgent = HttpContext.Current.Request.UserAgent;int startPos = url.LastIndexOf("/");
if (startPos != -1)
url = virtualPath.Substring(startPos + 1);if (url.StartsWith("Login1.aspx"))
if (userAgent.IndexOf("Windows CE") != -1 || userAgent.IndexOf("Pocket PC") != -1)
HttpContext.Current.Server.Transfer("Login2.aspx");
else if (url.StartsWith("Login2.aspx"))
HttpContext.Current.Server.Transfer("Login1.aspx");
...第二种方法我忘记了pocket pc的useragent你可以设置一个断点来看看HttpContext.Current.Request.UserAgent的值来判断的..
记得第一个方法得在References中加入System.Web.Mobile.dll
因为是 登录叶面,这样:
if (currentCapabilities.IsMobileDevice)
HttpContext.Current.Server.Transfer("Login2.aspx", true);
else
HttpContext.Current.Server.Transfer("Login1.aspx", true);
...用Transfer,因为用户还为登陆,除了登陆页面login.aspx,其他的页面,应该都是不可访问的哦。包括login1.aspx和login2.aspx
可以在web.config里面用
<httpHandlers>
<add verb="*" path="login*" type="AspNetForums.Components.HttpHandler.LoginHttpHandler, AspNetSite" />
</httpHandlers>
或者直接在上面的代码中加入
String url = HttpContext.Current.Request.Path;
int startPos = url.IndexOf("/");
if (startPos == -1)
startPos = 0;
url = url.Substring(startPos + 1).ToLower();
if (url.StartsWith("login"))
{
// 上面的检测设备类型或者UserAgent的代码....
}
// 如果不是登录页面则离开
你也可以写自己设备的filter在web.config中...如果machine.config里面没有包含你需要的设备!