在asp.net中实现多邮箱登陆,和www.hao123.com中的功能一样

阳光游子 2009-04-16 02:50:26
在html中实现多邮箱登陆比较容易,网上也有很多现成的代码,比如,从www.hao123.com页面中直接拿过来就能使用。但是要在asp.net的页面中实现这一个功能就比较麻烦,我尝试了很久都没有解决这个问题,不知道什么原因。

请各位高手帮帮忙,出出主意。



下面的代码能在html页面中实现多邮箱登陆:
-------------------------------------------------------------------------------------------
<HTML>
<HEAD>
<SCRIPT language=JavaScript>
<!--
function log_submit(){
var User = document.mailForm.mail_name.value;
var ProNo = document.mailForm.mailSelect.value;
var mail_action = ProNo.split(";");
if(mail_action.length > 1)
{
if(mail_action[1]=="suffix")
User += " "+mail_action[2];
else
eval("document.mailForm."+mail_action[1]+".value = '"+mail_action[2]+"';");
}
var Passwd = document.mailForm.mail_password.value;
var Formobj = document.mailForm;
function checkUserPass(){
if (User == ""){
alert("请填写您的邮箱用户名");
document.mailForm.mail_name.focus();
return false;
}
else if (Passwd == ""){
alert("请填写您的邮箱请填写密码");
document.mailForm.mail_password.focus();
return false;
}
else {
return true;
}
}
if (checkUserPass()){
document.mailForm.action = mail_action[0];
document.mailForm.u.value = User;
document.mailForm.user.value = User;
document.mailForm.LoginName.value = User;
document.mailForm.username.value = User;
document.mailForm.UserName.value = User;
document.mailForm.login_name.value = User;
document.mailForm.login.value = User;
document.mailForm.psw.value = Passwd;
document.mailForm.pass.value = Passwd;
document.mailForm.passwd.value = Passwd;
document.mailForm.password.value = Passwd;
document.mailForm.Password.value = Passwd;
document.mailForm.login_password.value = Passwd;
document.mailForm.submit();
document.mailForm.mail_password.value = "";
}
return false;
}
//-->
</SCRIPT>
</head>
<BODY>
<TABLE
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; FONT-SIZE: 13px;
BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
cellSpacing=0 align=left>
<FORM name=mailForm onsubmit="return log_submit();" method=post
target=_blank><INPUT type=hidden name=u><INPUT type=hidden name=user><INPUT
type=hidden name=LoginName><INPUT type=hidden name=username><INPUT type=hidden
name=UserName><INPUT type=hidden name=login_name><INPUT type=hidden
name=login><INPUT type=hidden name=psw><INPUT type=hidden name=language><INPUT
type=hidden name=pass><INPUT type=hidden name=passwd><INPUT type=hidden
name=password><INPUT type=hidden name=Password><INPUT type=hidden
name=login_password><INPUT type=hidden name=url><INPUT type=hidden
name=BackURL>
<TBODY>
<TR>
<TD>帐号:<INPUT style="FONT-SIZE: 12px; FONT-FAMILY: arial" onfocus=this.select
size=10 name=mail_name> @
<SELECT name=mailSelect> <OPTION selected>选择您的邮局</OPTION> <OPTION
value=http://entry.126.com/cgi/login
> 126.com</OPTION> <OPTION
value=http://reg.163.com/in.jsp?url=http://fm163.163.com/coremail/fcg/ntesdoor2?
username=wd.dm.mailForm.name.value> 163.com</OPTION>
<OPTION
value=http://mail.sina.com.cn/cgi-bin/login.cgi> sina.com</OPTION> <OPTION
value=https://edit.bjs.yahoo.com/config/login> yahoo.com.cn</OPTION> <OPTION
value=http://login.mail.sohu.com/chkpwd.php> sohu.com</OPTION> <OPTION
value=http://bjweb.mail.tom.com/cgi/163/login_pro.cgi> Tom.com</OPTION>
<OPTION
value=http://webmail.21cn.com/NULL/NULL/NULL/NULL/NULL/SignIn.gen> 21cn.com</OPTION>
<OPTION value=http://go.56.com/mail/mail.56> 56.com</OPTION> <OPTION
value=http://vip.163.com/payment/VipLogon.jsp> vip.163.com</OPTION> <OPTION
value=http://reg.mail.188.com/servlet/coremail/login?> 188.com</OPTION>
<OPTION value=http://vip.sina.com/cgi-bin/login.cgi> vip.sina.com</OPTION>
<OPTION value=http://bjweb.163.net/cgi/163/login_pro.cgi> 163.net</OPTION>
<OPTION value=http://g2wm.263.net/xmweb> 263.net</OPTION> <OPTION
value=http://freemail.eyou.com/cgi-bin/login> eyou.com</OPTION> <OPTION
value=http://webmail.21cn.net/nature/gb/NULL/NULL/NULL/SignIn.gen;DomainName;21cn.net>
21cn.net</OPTION>
<OPTION value=http://entry.yeah.net/cgi/login> Yeah.net</OPTION> <OPTION
value=http://web.netease.com/cgi/login> netease.com</OPTION> <OPTION
value=http://paymail.china.com/extend/gb/NULL/NULL/NULL/SignIn.gen> China.com</OPTION>
<OPTION
value=http://login.chinaren.com/zhs/servlet/Login;url;http:/mail.chinaren.com>
ChinaRen.com</OPTION>
<OPTION
value=http://login.etang.com/servlet/login;BackURL;http:/mail.etang.com/cgi/door>
etang.com</OPTION>
<OPTION
value=http://www.citiz.net/login.jsp.jsp> citiz.net</OPTION></SELECT>
密码:<INPUT
style="FONT-SIZE: 12px; FONT-FAMILY: arial" onfocus=this.select
type=password size=10 name=mail_password> <INPUT style="BACKGROUND-COLOR:Transparent"
type=submit value=登录></TD>
</TR></FORM></TBODY></TABLE>
</BODY>
</HTML>
...全文
15390 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
andycode 2011-07-12
  • 打赏
  • 举报
回复
139.com 的邮箱怎么登陆呀??
DreamsWan 2011-06-13
  • 打赏
  • 举报
回复
4楼的代码虽然能实现拿录邮箱功能,但有些美中不足,那就是登录雅邮箱时总是登录到英文版的,不知为何
阳光游子 2009-04-18
  • 打赏
  • 举报
回复
这是我的另一个问题,看看能不能给点意见:http://topic.csdn.net/u/20090416/03/8efdd907-48b7-4406-bf6b-ddc414c350eb.html?seed=657264686
阳光游子 2009-04-17
  • 打赏
  • 举报
回复
我的水平还很初级,也很粗心,学好.net还要很长的路要走.真幸运遇上 jadier 这样的热心能人~!
阳光游子 2009-04-17
  • 打赏
  • 举报
回复
多谢4楼的 jadier ,要多向你学习~!
  • 打赏
  • 举报
回复
不敢当,一起学习.我只是比较闲一些.能人都在赚钱呢
  • 打赏
  • 举报
回复
将所有隐藏域代码放入一个独立的html中,在原先文件中用include
比如


<TABLE
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; FONT-SIZE: 13px;
BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
cellSpacing=0 align=left>
<!--include file="HiddenInput.html" -->
<FORM name=mailForm onsubmit="return log_submit();" method=post
target=_blank>


HiddenInput.html中内容为

<INPUT type=hidden name=u> <INPUT type=hidden name=user> <INPUT
type=hidden name=LoginName> <INPUT type=hidden name=username> <INPUT type=hidden
name=UserName> <INPUT type=hidden name=login_name> <INPUT type=hidden
name=login> <INPUT type=hidden name=psw> <INPUT type=hidden name=language> <INPUT
type=hidden name=pass> <INPUT type=hidden name=passwd> <INPUT type=hidden
name=password> <INPUT type=hidden name=Password> <INPUT type=hidden
name=login_password> <INPUT type=hidden name=url> <INPUT type=hidden
name=BackURL>


但我不认为一旦出现类似的"影响设计效果"的问题时,都采用这种方式去"解决".我觉得,很多时候

我们要适应在这种"影响设计效果"的情况下完成设计.此外,include 方式比较过式,asp.net中更

提倡使用用户控件或在后台输出html
阳光游子 2009-04-16
  • 打赏
  • 举报
回复
7楼真是太强啦,谢谢啦~!

还有一个小问题,在设计中那些隐藏域,有点占地方,影响设计效果。我想能不能像js文件那样一样把他们放在一个单独的htm文件,然后在aspx页面中给它留一个特定大小的地方,在使用时直接引用那个htm文件呢? 还没试过,先提出来。
  • 打赏
  • 举报
回复
我觉得切换不到设计视图,大部分都是因为嵌套关系有问题

你改的那些问题,基本上没有太大的影响.从网上复制的HTML,很多都是这个样子

写的很乱的,整理起来也非常的累,既然是想用别人的,我觉得能用起来就行了.
  • 打赏
  • 举报
回复
我又看了一下,代码开始是<FORM>后跟着一个<TBODY> ,结束是应该是先</TBODY> 再</FORM>

这段神经刀的HTML显然是搞错了嵌套关系
  • 打赏
  • 举报
回复
呵呵,那不是HTML和ASP.net之间标记语法的差异,在测试时我就注意到了

倒数第三行中</TBODY>这个标记没有与之匹配的开始标记,导致不能切换到设计视图

删除这个标记就能到设计视图了,

错误提示144个,警告2个,主要是因为有

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

会按w3c的标准去验证代码的.这些代码没有符合w3c中的一些标准,如一些过时的标记,属性必须加引号等

如果你不想看到这些错误提示,删除上面那行w3c声明就行了
阳光游子 2009-04-16
  • 打赏
  • 举报
回复
4楼的代码确实能登陆邮箱了,但是还有一个问题就是,由于html和asp.net之间标记语法的差异,无法切换到“设计”视图进行外观设计,只能在“源”中操作,这使得代码的可用性大打折扣。

根据错误提示,我作了一些调整,比如把html标记中的大写改为小写,<input>标记改为<input />,属性值用和标记名称用引号括起来。但是有些错误不知道如何修改,比如:
1 错误 1 验证 (XHTML 1.0 Transitional): 元素“form”不能嵌套在元素“table”中。
2 错误 5 验证(XHTML 1.0 Transitional): 在“select”元素的开始标记与结束标记之间不允许出现文本。
3 错误 10 验证 (XHTML 1.0 Transitional): 属性“username”不是元素“option”的有效属性。
4 错误 15 找不到文件“return log_submit();”。


像错误4,明明在代码中,为什么找不到呢?难道位置放错地方了?
海洋齐齐 2009-04-16
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
以下代码通过测试

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<SCRIPT language=JavaScript>
<!--
function log_submit(){
var User = document.mailForm.mail_name.value;
var ProNo = document.mailForm.mailSelect.value;
var mail_action = ProNo.split(";");
if(mail_action.length > 1)
{
if(mail_action[1]=="suffix")
User += " "+mail_action[2];
else
eval("document.mailForm."+mail_action[1]+".value = '"+mail_action[2]+"';");
}
var Passwd = document.mailForm.mail_password.value;
var Formobj = document.mailForm;
function checkUserPass(){
if (User == ""){
alert("请填写您的邮箱用户名");
document.mailForm.mail_name.focus();
return false;
}
else if (Passwd == ""){
alert("请填写您的邮箱请填写密码");
document.mailForm.mail_password.focus();
return false;
}
else {
return true;
}
}
if (checkUserPass()){
document.mailForm.action = mail_action[0];
document.mailForm.u.value = User;
document.mailForm.user.value = User;
document.mailForm.LoginName.value = User;
document.mailForm.username.value = User;
document.mailForm.UserName.value = User;
document.mailForm.login_name.value = User;
document.mailForm.login.value = User;
document.mailForm.psw.value = Passwd;
document.mailForm.pass.value = Passwd;
document.mailForm.passwd.value = Passwd;
document.mailForm.password.value = Passwd;
document.mailForm.Password.value = Passwd;
document.mailForm.login_password.value = Passwd;
document.mailForm.submit();
document.mailForm.mail_password.value = "";
}
return false;
}
//-->
</SCRIPT>

</head>
<body>

<TABLE
style="BORDER-RIGHT: #c0c0c0 1px solid; BORDER-TOP: #c0c0c0 1px solid; FONT-SIZE: 13px;
BORDER-LEFT: #c0c0c0 1px solid; BORDER-BOTTOM: #c0c0c0 1px solid"
cellSpacing=0 align=left>
<FORM name=mailForm onsubmit="return log_submit();" method=post
target=_blank> <INPUT type=hidden name=u> <INPUT type=hidden name=user> <INPUT
type=hidden name=LoginName> <INPUT type=hidden name=username> <INPUT type=hidden
name=UserName> <INPUT type=hidden name=login_name> <INPUT type=hidden
name=login> <INPUT type=hidden name=psw> <INPUT type=hidden name=language> <INPUT
type=hidden name=pass> <INPUT type=hidden name=passwd> <INPUT type=hidden
name=password> <INPUT type=hidden name=Password> <INPUT type=hidden
name=login_password> <INPUT type=hidden name=url> <INPUT type=hidden
name=BackURL>
<TBODY>
<TR>
<TD>帐号: <INPUT style="FONT-SIZE: 12px; FONT-FAMILY: arial" onfocus=this.select
size=10 name=mail_name> @
<SELECT name=mailSelect> <OPTION selected>选择您的邮局 </OPTION> <OPTION
value=http://entry.126.com/cgi/login
> 126.com </OPTION> <OPTION
value=http://reg.163.com/in.jsp?url=http://fm163.163.com/coremail/fcg/ntesdoor2?
username=wd.dm.mailForm.name.value> 163.com </OPTION>
<OPTION
value=http://mail.sina.com.cn/cgi-bin/login.cgi> sina.com </OPTION> <OPTION
value=https://edit.bjs.yahoo.com/config/login> yahoo.com.cn </OPTION> <OPTION
value=http://login.mail.sohu.com/chkpwd.php> sohu.com </OPTION> <OPTION
value=http://bjweb.mail.tom.com/cgi/163/login_pro.cgi> Tom.com </OPTION>
<OPTION
value=http://webmail.21cn.com/NULL/NULL/NULL/NULL/NULL/SignIn.gen> 21cn.com </OPTION>
<OPTION value=http://go.56.com/mail/mail.56> 56.com </OPTION> <OPTION
value=http://vip.163.com/payment/VipLogon.jsp> vip.163.com </OPTION> <OPTION
value=http://reg.mail.188.com/servlet/coremail/login?> 188.com </OPTION>
<OPTION value=http://vip.sina.com/cgi-bin/login.cgi> vip.sina.com </OPTION>
<OPTION value=http://bjweb.163.net/cgi/163/login_pro.cgi> 163.net </OPTION>
<OPTION value=http://g2wm.263.net/xmweb> 263.net </OPTION> <OPTION
value=http://freemail.eyou.com/cgi-bin/login> eyou.com </OPTION> <OPTION
value=http://webmail.21cn.net/nature/gb/NULL/NULL/NULL/SignIn.gen;DomainName;21cn.net>
21cn.net </OPTION>
<OPTION value=http://entry.yeah.net/cgi/login> Yeah.net </OPTION> <OPTION
value=http://web.netease.com/cgi/login> netease.com </OPTION> <OPTION
value=http://paymail.china.com/extend/gb/NULL/NULL/NULL/SignIn.gen> China.com </OPTION>
<OPTION
value=http://login.chinaren.com/zhs/servlet/Login;url;http:/mail.chinaren.com>
ChinaRen.com </OPTION>
<OPTION
value=http://login.etang.com/servlet/login;BackURL;http:/mail.etang.com/cgi/door>
etang.com </OPTION>
<OPTION
value=http://www.citiz.net/login.jsp.jsp> citiz.net </OPTION> </SELECT>
密码: <INPUT
style="FONT-SIZE: 12px; FONT-FAMILY: arial" onfocus=this.select
type=password size=10 name=mail_password> <INPUT style="BACKGROUND-COLOR:Transparent"
type=submit value=登录> </TD>
</TR> </FORM> </TBODY> </TABLE>


</body>
</html>

  • 打赏
  • 举报
回复
我在想如果一个JS能在HTLM里很好的运行,那复制到aspx中也应该很好的运行

aspx最终也是生成html的啊

所以我觉得把上面的代码直接拿来用就行了
itcrazyman 2009-04-16
  • 打赏
  • 举报
回复
mark up 顶
takako_mu 2009-04-16
  • 打赏
  • 举报
回复
up
quanpp_user 2009-04-16
  • 打赏
  • 举报
回复
up
mrhu7002 2009-04-16
  • 打赏
  • 举报
回复
ASP.NET 3.5(1)第一群47448683 ,创群三年,刚刚清理,留上的都算得上是高手,现招人!
群里肯定有人能解决您的问题!
冷月孤峰 2009-04-16
  • 打赏
  • 举报
回复
4楼的都给出来了,其他一些细节楼主试着修改一下就可以了,不要什么都要现成的,那样对自己的成长不是好事
加载更多回复(1)

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧