qingchundou110 发表于 2013-1-23 02:12:13

.net AJAX jquery

.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").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>
页: [1]
查看完整版本: .net AJAX jquery