您的位置:首页 > 其它

.net 二级联动菜单

2006-12-11 09:34 363 查看
实现两个dropdownlist的无刷新联动(分三步) 1. 做一个页面,里面有两个dropdownlist,并分别设置其id,其后加入下列脚本:
<script language="javascript" type="text/javascript">
function load(state)
{
var drp2 = document.getElementById("ddl2");
//for(i = drp2.options.length; i>= 0 ;i--)
//{
//drp2.options.remove(i);
//}
drp2.length=0; //清除所有的选项
var XmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
XmlHttp.open("POST", "AdminArticleValue.aspx?state="+state, fal**); *mlHttp.setRequestHeader("Content-Type","text/xml");
XmlHttp.send("");
if (XmlHttp.readyState == 4) {// 收到完整的服务器响应
if (XmlHttp.status == 200) {//HTTP服务器响应的值OK
var option =(XmlHttp.responseText).split("@");
for(var i=1;i<=option[0];i++)
{
var newOption = document.createElement("OPTION");
newOption.text = option[2*i-1];
newOption.value = option[2*i];
drp2.options.add(newOption);
}
}
}
}
</script>
2. 在后台CS中的load事件中写入如下代码:
if(!this.IsPostBack)
{
this.ddl1.Attributes.Add("onchange","load(this.options[this.selectedIndex].innerText)");
}
3. 在被请求的页面中的后台写入如下代码:
private void Page_Load(object sender, System.EventArgs e)
{
string site=this.Request["state"].ToString();
if(site!=null && site!="")
{
string parent="";
string result="";
parent=DbHelperSQL.GetSingle("select Site_Value from SiteMenu where Site_Name='"+site+"'").ToString();
using (SqlDataReader dr = DbHelperSQL.ExecuteReader("select Site_Name,Site_Value from SiteMenu where Site_Parent='"+parent+"'"))
{
while(dr.Read())
{ result+=dr["Site_Name"].ToString()+"@"+dr["Site_Value"].ToString()+"@";
}
} result=Convert.ToString((result.TrimEnd('@').Split('@').Length/2))+"@"+result.TrimEnd('@').ToString();
Response.Write(result);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: