首页 新闻 会员 周边 捐助

登陆的问题

0
悬赏园豆:10 [已解决问题] 解决于 2008-10-22 09:50

做登陆,想换个方式玩哈,用js代码调用服务器的方法(我语言能力不咋好,说话自己都感觉很无语轮次的。说的很不好。期望大家谅解啊).想在vs2005中通过纯html控件来调用c#中自定义的方法。 

  //前台部分代码 (登陆框,密码框和登陆按钮3个)

<input name="Username" type="text" class="username" size="30" value="Username">

<input name="Password" type="password" class="password" size="30" value="pwd">

<input id="Submit1" type="submit" value="submit" onclick="login()"/>

js文件

    function login()
    {
        var username=document.getElementById("Username").value;
        var pwd=document.getElementById("pwd").value;
 var message="<%=temp("admin","1000")%>";
   
if(message=="true")      
   
else        }
}

问题补充: //cs文件:(假入帐号和密码是admin和1000就成功了) public string temp(string a, string b) { if (a == "admin" && b == "1000") return "true"; else return "false"; } 问题是在页面不按套路来跑,在加载时就执行了 "<%=temp("admin","1000")%>";自定义函数(调试发现的,页面一加载就进入了temp函数体了),该怎么弄才能点击sumbit才执行这段代码啊
tertyufer的主页 tertyufer | 初学一级 | 园豆:35
提问于:2008-10-14 11:30
< >
分享
最佳答案
0

var message="<%=temp("admin","1000")%>"
在页面的绑定都会在加载的时候调用完成。
所以lz必须ajax异步提交,可以用自己纯手工写xmlHttpRequest,也可以ajaxPro,或者你选择重量级(使用也更简单)的ASP.NET AJAX.来获取登陆的结果

码尔代夫iimax | 老鸟四级 |园豆:3138 | 2008-10-14 13:28
其他回答(5)
0

楼主要学的东西太多了?
var message="<%=temp("admin","1000")%>";  ???????? 能这样吗?

Jeremy Liu | 园豆:705 (小虾三级) | 2008-10-14 12:19
0

总之不能这样用,当你使用<%= temp("admin", "1000")%>的时候,已经执行了temp命令并在这一块输出结果,执行的时候还在服务器端,页面也没有送给客户端

这里要用ajax提交才行

Gray Zhang | 园豆:17610 (专家六级) | 2008-10-14 13:15
0

楼主要完成的功能 用Ajax可以很好的完成。

建议楼主先看点Ajax的基本资料(可以用google搜),然后找个框架(比如Jquery),比着框架的示例(可以所选框架的官网下载)来完成功能 。

张荣华 | 园豆:2020 (老鸟四级) | 2008-10-14 14:14
0

需要使用ajax的invoke方法。

比如 Anthem_InvokePageMethod();

自己上网搜一下ajax的用法。  

  

West | 园豆:1095 (小虾三级) | 2008-10-14 16:03
0

可以使用ajaxpro,具体参见此回答:http://space.cnblogs.com/question/3250/

我好像写DEMO在以上回答中。

当然也可以不使用ajax.具体参见:

http://www.cnblogs.com/heekui/archive/2007/04/01/695636.html

以上仅供参考

RicoRui | 园豆:3663 (老鸟四级) | 2008-10-15 10:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册