Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说DropDownList无刷新二级联动,希望能够帮助你!!!。
一、数据表CAT结构:

) 


(
) 
二、配置web.config:
在
<system.web>部分加入:


三、添加
AjaxMethod.cs:















/// AjaxMethod 的摘要描述
/// </summary>



GetDataSet
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.Read)]
public static DataSet GetCatList(string id)
{
string sql = "SELECT CAT_ID,CAT_NAME FROM CAT WHERE PARENT_ID='" + id.ToString() + "'";
return GetDataSet(sql);
}
}
四、Dropdownlist.aspx代码:









//Cat联动部分
function catResult() 
{
var bcat=document.getElementById("<%=ddlbCat.ClientID%>");
if (bcat.value != "")
{
AjaxMethod.GetCatList(bcat.value,get_cat_Result_CallBack);
}
else
{
document.all("<%=ddlCat.ClientID%>").length=0;
document.all("<%=ddlCat.ClientID%>").options.add(new Option("--Select--",""));
}
}
function get_cat_Result_CallBack(response)
{
if (response.value != null)
{
document.all("<%=ddlCat.ClientID%>").length=0;
document.all("<%=ddlCat.ClientID%>").options.add(new Option("--Select--",""));
var ds = response.value;
if(ds != null && typeof(ds) == "object" && ds.Tables != null)
{
for(var i=0; i<ds.Tables[0].Rows.length; i++)
{
var name=ds.Tables[0].Rows[i].CAT_NAME;
var id=ds.Tables[0].Rows[i].CAT_ID;
document.all("<%=ddlCat.ClientID%>").options.add(new Option(name,id));
}
}
}
return
}








五、Dropdownlist.aspx.cs代码:














/// Dropdownlist 的摘要说明。
/// </summary>


private void Page_Load(object sender, System.EventArgs e)
{
Ajax.Utility.RegisterTypeForAjax(typeof(AjaxMethod));
if (!this.Page.IsPostBack)
{
//Load Controls
this.DDLBind(this.ddlbCat, "select [CAT_ID],[CAT_NAME] from CAT where PARENT_ID='0'");
this.ddlbCat.Attributes.Add("onclick", "catResult();");
}
}
//Load DropDownList
private void DDLBind(System.Web.UI.WebControls.DropDownList DDL, string SQLString)
{
string connectionString = ConfigurationManager.AppSettings["dbConnectionString"];
SqlConnection connection = new SqlConnection(connectionString);
connection.Open();
try
{
SqlCommand cmd = new SqlCommand(SQLString, connection);
SqlDataReader dr = cmd.ExecuteReader();
DDL.Items.Clear();
ListItem default_item = new ListItem();
default_item.Value = "";
default_item.Text = "--Select--";
DDL.Items.Add(default_item);
while (dr.Read())
{
ListItem ListItem = new ListItem();
ListItem.Value = dr.GetValue(0).ToString();
ListItem.Text = dr.GetString(1);
DDL.Items.Add(ListItem);
}
dr.Close();
}
finally
{
if (connection.State == ConnectionState.Open)
connection.Close();
}
}
//Load Selected DropDownList
public static void DDLOldBind(System.Web.UI.WebControls.DropDownList DDL, string sql, string Id)
{
DDL.Items.Clear();
ListItem default_item = new ListItem();
default_item.Value = "";
default_item.Text = "--Select--";
DDL.Items.Add(default_item);
try
{
DataTable dt = ExecuteQuery(sql);
if (dt.Rows.Count >= 1)
{
foreach (DataRow dr in dt.Rows)
{
ListItem ListItem = new ListItem();
ListItem.Value = dr[0].ToString();
ListItem.Text = dr[1].ToString();
DDL.Items.Add(ListItem);
}
}
DDL.SelectedValue = Id;
}
catch (System.Data.SqlClient.SqlException E)
{
throw new Exception(DDL.ID.ToString() + E.Message.ToString());
}
}
}
六、Ajax.dll文件.
Ajax.dll下载
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章