六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 23|回复: 0

.net AJAX jquery

[复制链接]

升级  86%

11

主题

11

主题

11

主题

童生

Rank: 1

积分
43
 楼主| 发表于 2013-1-23 02:12:13 | 显示全部楼层 |阅读模式
.net的路由不能像ror的路由那样精确到Action,不过可以通过jquery的ajax方法多传递一个Key/value值,再到Page_Load方法中判断一下此value的值,再执行相应的方法。
当然也可以用ASP.NET AJAX的控件。 不过据说不怎么好

下面是个判断用户名是否存在的简单代码
C#代码:
    protected void Page_Load(object sender, EventArgs e)
    {
//判断是否有名为"Action"的key
        if (!Request.Params.AllKeys.Contains("Action"))
        {

        }
//判断keyvalue的值是不是"get_msg"
        else if(Request.Params.GetValues("Action").FirstOrDefault()=="get_msg")
        {
            test();
        }
    }

    protected void test()
    {
//获取key为"Username"的value
        string username = Request.Params.GetValues("Username").FirstOrDefault();
        string isValidateUsername = "";
//执行Users类的方法IsValidateUsername(string username)判断用户名是否存在
        if (Users.IsValidateUsername(username))
        {
            isValidateUsername = "用户名已存在";
        }
        else
        {
            isValidateUsername = "用户名不存在";
        }
//设置输出流的http MIME为application/json
        Response.ContentType = "application/json";
        Response.Write("{result: '" + isValidateUsername + "',textStatus1:'1'}");
        Response.Flush();
        Response.End();
    }
js代码:
<script type="text/javascript" src="jquery.js"></script>
<script language="javascript" type="text/javascript">
// <!CDATA[

function IsValidateUsername_onclick() {
   $.post("Login.aspx",
          { Action: "get_msg", Username: $("#username>input")[0].value },
   function (data, textStatus){
alert(data.result);
}, "json");
}

// ]]>
</script>
<ul>
<li id="username">
用户名:<asp:TextBox ID="tbUsername" runat="server"></asp:TextBox>
</li>
<li>
<input type="button" value="用户名是否存在"  />
</li>
</ul>
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表