读书人

请教怎样将无刷新联动菜单DropDownLis

发布时间: 2011-12-29 22:09:38 作者: rapoo

请问怎样将无刷新联动菜单DropDownList2和DropDownList3存储入数据库?谢谢!
请问怎样将无刷新联动菜单DropDownList2和DropDownList3存储入数据库?谢谢!
C#代码如下:
<TITLE> WebForm2 </TITLE>
<SCRIPT language=@#javascript@#>
function load(){
var drp2 = document.getElementById( "DropDownList2 ");
drp2.innerText= " ";
for(var i = 0;i <=drp2.options.length -1;i++){
drp2.remove(i);
}
var drp3 = document.getElementById( "DropDownList3 ");
for(var i = 0;i <=drp3.options.length -1;i++){
drp3.remove(i);
}
var xmlhttp = new ActiveXObject( "MSXML2.XMLHTTP ");
var oDoc = new ActiveXObject( "MSXML2.DOMDocument ");
var state=document.getElementById( "DropDownList1 ").value;
xmlhttp.open( "POST ", "webform1.aspx?id= "+state,false);
xmlhttp.send( " ");
var res=oDoc.loadXML(xmlhttp.responseText);
var naItems = oDoc.selectNodes( "//Market/Table/maName ");
var idItems = oDoc.selectNodes( "//Market/Table/maId ");
var item;
var id;
for (item = naItems.nextNode(),id=idItems.nextNode(); item&&id; item = naItems.nextNode(),id=idItems.nextNode()){
var nastr = item.nodeTypedValue;
var idstr = id.nodeTypedValue;
var newOption = document.createElement( "OPTION ");
newOption.text =nastr;
newOption.value = idstr;


drp2.options.add(newOption);
}
load2();

}
function load2(){
var drp2 = document.getElementById( "DropDownList3 ");
drp2.innerText= " ";
for(var i = 0;i <=drp2.options.length -1;i++){
drp2.remove(i);
}
var xmlhttp = new ActiveXObject( "MSXML2.XMLHTTP ");
var oDoc = new ActiveXObject( "MSXML2.DOMDocument ");
var state=document.getElementById( "DropDownList2 ").value;


xmlhttp.open( "POST ", "webform3.aspx?id= "+state,false);
xmlhttp.send( " ");
var res=oDoc.loadXML(xmlhttp.responseText);
var naItems = oDoc.selectNodes( "//Market/Table/maName ");
var idItems = oDoc.selectNodes( "//Market/Table/maId ");
var item;
var id;
for (item = naItems.nextNode(),id=idItems.nextNode(); item&&id; item = naItems.nextNode(),id=idItems.nextNode()){
var nastr = item.nodeTypedValue;
var idstr = id.nodeTypedValue;
var newOption = document.createElement( "OPTION ");
newOption.text =nastr;
newOption.value = idstr;


drp2.options.add(newOption);
}

}
</SCRIPT>
</HEAD>
<BODY ms_positioning= "GridLayout " onload= "load() ">
<FORM id= "Form1 " method= "post " runat= "server ">
<ASP:DROPDOWNLIST id= "DropDownList1 " runat= "server "> </ASP:DROPDOWNLIST>
<ASP:DROPDOWNLIST id= "DropDownList2 " runat= "server "> </ASP:DROPDOWNLIST>
<ASP:DROPDOWNLIST id= "Dropdownlist3 " runat= "server "> </ASP:DROPDOWNLIST>
</FORM>
</BODY>
</HTML>
-----------------------
namespace dropDown
{
/// <summary>
/// WebForm2 的摘要说明。
/// </summary>
public class WebForm2 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.DropDownList DropDownList1;
protected System.Web.UI.WebControls.DropDownList Dropdownlist3;
protected System.Web.UI.WebControls.DropDownList DropDownList2;

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
SqlConnection con = new SqlConnection( "server=localhost;database=star;uid=sa;pwd= ");
SqlDataAdapter da = new SqlDataAdapter( "select maId,maName from tabMarket where maCls=0 ",con);
DataSet ds = new DataSet();
da.Fill(ds, "op ");
this.DropDownList1.DataSource=ds.Tables[0];


this.DropDownList1.DataTextField = "maName ";
this.DropDownList1.DataValueField = "maId ";
this.DropDownList1.DataBind();
this.DropDownList1.Attributes.Add( "onchange ", "load() ");
this.DropDownList2.Attributes.Add( "onchange ", "load2() ");
}


}

}
}
-----------------------
public class WebForm1 : System.Web.UI.Page
{

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
// Put user code to initialize the page here
//if(this.Request[ "state "]!=null)
//{
string id =this.Request[ "id "];
SqlConnection con = new SqlConnection( "server=localhost;database=star;uid=sa;pwd=; ");
SqlDataAdapter da = new SqlDataAdapter( "select maName,maId from tabMarket where maParent=@id and maSt=1 ",con);
da.SelectCommand.Parameters.Add( "@id ",id);
DataSet ds = new DataSet( "Market ");
da.Fill(ds);

ds.WriteXml(Response.OutputStream);
Response.Flush ();
Response.End ();

//}
}
}
-----------------------------
public class WebForm3 : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string id =Request[ "id "];
SqlConnection con = new SqlConnection( "server=localhost;database=star;uid=sa;pwd=; ");
SqlDataAdapter da = new SqlDataAdapter( "select maName,maId from tabMarket where maParent=@id and maSt=1 ",con);
da.SelectCommand.Parameters.Add( "@id ",id);
DataSet ds = new DataSet( "Market ");
da.Fill(ds);

ds.WriteXml(Response.OutputStream);
Response.Flush ();
Response.End ();
}
}



------解决方案--------------------


Request.Form[DropDownList2.UniqueID]
Request.Form[DropDownList3.UniqueID]得到
或者

Request.Form[ "DropDownList2 "]
Request.Form[ "DropDownList3 "]
[解决办法]
string selectedStreetId = Request.Form[ddlStreet.UniqueID];
streetID = int.Parse(ddlStreet.Items.FindByValue(selectedStreetId).Value);

在点了确定按钮之后 先用第一句获取第一个dropdownlist的UniqueID
第二句 就根据这个UniqueID 去取它的选择的值
然后写入数据库就一样了

读书人网 >asp.net

热点推荐