.net的路由不能像ror的路由那样精确到Action,不过可以通过jquery的ajax方法多传递一个Key/value值,再到Page_Load方法中判断一下此value的值,再执行相应的方法。
当然也可以用ASP.NET AJAX的控件。 不过据说不怎么好
下面是个判断用户名是否存在的简单代码
[b]C#代码:[/b]
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();
}
[b]js代码:[/b]
<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="用户名是否存在" οnclick="IsValidateUsername_onclick()" />
</li>
</ul>
当然也可以用ASP.NET AJAX的控件。 不过据说不怎么好
下面是个判断用户名是否存在的简单代码
[b]C#代码:[/b]
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();
}
[b]js代码:[/b]
<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="用户名是否存在" οnclick="IsValidateUsername_onclick()" />
</li>
</ul>