一直不会做下拉列表框的二级联动(无刷新页面的那种),后来想到用二维数组,可那种方法又太麻烦了。所以
就Ajax来做。
昨天问了很多人学习做二级联动的方法,做了很多次都有问题。今天终于做成功了暂时也没有发现存在的问题了。
发出来给大家献丑一下要源码的可以加我QQ122486006 欢迎交流http://www.cnkangaroo.com/ajax/index.asp
就Ajax来做。
昨天问了很多人学习做二级联动的方法,做了很多次都有问题。今天终于做成功了暂时也没有发现存在的问题了。
发出来给大家献丑一下要源码的可以加我QQ122486006 欢迎交流http://www.cnkangaroo.com/ajax/index.asp
//checkout user login
function CheckLogin()
{
var id = document.getElementById("txtLoginName").value;
var pwd = document.getElementById("txtLoginPwd").value;
if(id != "" && pwd != "")
{
AjaxFunction('CheckLogin',id,pwd);
}
else
{
alert("Neither LoginId nor pwd should empty!");
}
}
//Asynchronous transfer
var xmlhttp;
function AjaxFunction(Todo,id,pwd)//send request
{
xmlhttp =new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("Post","../../AjaxComplete.aspx?do="+ Todo +"&LoginId="+ id +"&value="+pwd);
if(Todo == "CheckLogin")
{
xmlhttp.onreadystatechange = IsPass;
}
if(Todo == "Out")
{
xmlhttp.onreadystatechange = IsOut;
}
if(Todo == "EditName")
{
xmlhttp.onreadystatechange = IsEdit;
}
xmlhttp.send(null);
}
function IsPass()//Deal with back request
{
if (xmlhttp.readystate==4&&xmlhttp.status==200)//differentiate back state
{
if (xmlhttp.responsetext !="")
{
var va = xmlhttp.responsetext;//back value
if(va != "")//succeed
{
document.getElementById("labLoginName").innerText = va;
document.getElementById("divLogin").style.display = "none";
document.getElementById("divWellcome").style.display = "block";
location.href = "FrameBase/Frame.aspx";
}
}
else//false
{
alert("loginId or pwd is wrong!");
document.getElementById("divLogin").style.display = "block";
document.getElementById("divWellcome").style.display = "none";
}
}
}
//jump out
function IsOut()
{
if (xmlhttp.readystate==4&&xmlhttp.status==200)
{
if (xmlhttp.responsetext !="")
{
var va = xmlhttp.responsetext;
if(va != "")
{
alert("Out!");
document.getElementById("txtLoginName").value = "";
document.getElementById("txtLoginPwd").value = "";
document.getElementById("divLogin").style.display = "block";
document.getElementById("divWellcome").style.display = "none";
}
}
else
{
alert("Out False,Please try agin!");
}
}
}
//Reset Name
function EditName()
{
var val = document.getElementById('txtUname').value;
if(val == '')
{
alert('Please input your name!');
}
else
{
AjaxFunction('EditName','Uname',val);
}
}
// Do Reset Name
function IsEdit()
{
if (xmlhttp.readystate==4&&xmlhttp.status==200)
{
if (xmlhttp.responsetext !="")
{
var va = xmlhttp.responsetext;
if(va != "")
{
document.getElementById("labLoginName").innerText = document.getElementById("txtUname").value;
document.getElementById("txtUname").value = "";
document.getElementById("divName").style.display = "none";
}
}
}
}
//re
function ShowContent(ob)
{
if(ob.id == "tdNotes")
{
document.getElementById("divNotes").style.display = "block";
document.getElementById("divRouting").style.display = "none";
document.getElementById("divFinance").style.display = "none";
}
else if(ob.id == "tdRouting")
{
document.getElementById("divNotes").style.display = "none";
document.getElementById("divRouting").style.display = "block";
document.getElementById("divFinance").style.display = "none";
}
else
{
document.getElementById("divNotes").style.display = "none";
document.getElementById("divRouting").style.display = "none";
document.getElementById("divFinance").style.display = "block";
}
}
</script>
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
using MyMajordomo.Model;
using MyMajordomo.BLL;
using System.Text.RegularExpressions;namespace MyMajordomo
{
public partial class AjaxComplete : System.Web.UI.Page
{
User user = new User();
protected void Page_Load(object sender, EventArgs e)
{
try
{
#region 将各页面的前台数据与数据库或其他数据进行交互操作 Data Interactive of Page and DataBase(SQL)
if (Request["do"] != null)
{
#region 验证用户登录(根据LoginId 和 Pwd查看是否有匹配数据) check user login by loginId and pwd
if (Request["do"].Trim() == "CheckLogin")
{
string loginId = Request["LoginId"].Trim();
string pwd = Request["value"].Trim();
user = new User();
user.LoginId = loginId;
user.Pwd = pwd;
User newUser = UserBLL.CheckLogin(user);
Session["user"] = newUser.UID;
Response.Clear();
if (newUser != null)
{
Response.Write(newUser.UName);
}
else
{
Response.Write("");
}
Response.End();
}
#endregion #region 用户登出(清空session) user jump out clear session user
if (Request["do"].Trim() == "Out")
{
Session["user"] = null; Response.Clear();
Response.Write("OK");
Response.End();
}
#endregion #region 用户改名(根据当前session中的用户信息改变UName为前台传过来的值) user rename
if (Request["do"].Trim() == "EditName")
{
user = (User)Session["user"];
user.UName = Request["do"].Trim();
UserBLL.ModifyUser(user);
Response.Clear();
Response.Write("OK");
Response.End();
}
#endregion
}
if (Request["handle"] != null)
{
string rValue = "";
if (Request["table"].Trim() == "Note")
{
if (Request["handle"].Trim() == "update")
{
string str = Request["values"].Trim();
string[] values = str.Split('□');
Note note = new Note();
note.Title = values[0].Trim();
int nType = int.Parse(values[1].Trim());
NoteType nt = new NoteType();
nt.TID = nType;
note.NoteType = nt;
note.IsShare = int.Parse(values[2].Trim());
note.ImGrade = int.Parse(values[3].Trim());
note.Content = values[4].Trim();
note.CreateBy = UserBLL.GetUserByUID(int.Parse(Session["user"].ToString().Trim())).UName;
note.CreateDate = DateTime.Now;
string nid = Request["code"].Trim();
note.NID = nid == "" ? 0 : int.Parse(nid);
if (note.NID == 0)
{
rValue = NoteBLL.AddNote(note) != null ? "Save success" : "Save false";
}
else
{
rValue = NoteBLL.ModifyNote(note) == true ? "Save success" : "Save false";
}
}
//else if (Request["handle"].Trim() == "delete")
//{
// Note note = new Note();
// note.NID = int.Parse(Request["code"].Trim());
// rValue = NoteBLL.DeleteNote(note) > 0 ? "Delete Success" : "Delete false";
//}
}
Response.Clear();
Response.Write(rValue);
Response.End();
}
#endregion
}
catch (Exception ex)
{
throw ex.InnerException;
}
}
}
}