DropDownList技巧寻求!? 现在有两个DropDownList控件A和B,实现的功能是:从A中选择省份,然后在B中选择市;根据在A中所选择的不同的省份,当下拉B时根据所选的A显示不同的市,怎样实现,谢谢!请讲一下实现方法,不要一大段代码贴上来,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 b中的select语句的一个selectParames是绑定a的selected DropDownList联动问题(废话),是c/s,还是b/s的?如果是b/s的我建议使用Ajax.net 微软网站上搜索Ajax, 有一篇文章能够帮你解决这个问题,文章的标题我忘了。其中还有一个例子就是针对LZ所提的问题的。 很简单.对于数据库我这样设计,省份一个表,城市一个表,城市表里有省份的对应IDdatasource1 绑定省份数据datasource2 绑定城市数据然后将两个datasource分别绑定到两个dropdownlist关键点就是城市的datasource需要设置where内容.主要是将"源"设置为"control,然后将"控件ID"设置为省份下拉菜单的ID.做完这步后,还要设置省份下拉菜单允许立即postback不知道有没有说明白,试试吧 根本不用另外编程.主要代码都在aspx页里,如果确实需要,我再贴出来. 直接在A的SelectedIndexChanged事件里面写句select代码然后执行不就行了么。 做一个类似以下的LISTBOX(隐藏),放所有城市: <asp:listbox id="listBoxCity" style="VISIBILITY: hidden" runat="server" rows="1" width="50"></asp:listbox>做一个类似以下的LISTBOX,放所有的省份:<asp:listbox id="listBoxShengfen" runat="server" rows="6" width="140" cssclass="selectstyle"></asp:listbox>在PAGE_LOAD里从数据库里取出省份和城市名分别装载在以上的LISTBOX在省份的LISTBOX增加:listboxShengfen.attributes("onchange")="selectShengfen();"在页面上写JS函数selectShengfen(),当选择某个省份的时候就在listBoxCity显示该省份所有的城市.要求省份的VALUE和城市的VALUE要有关联,如某个省份的ID为"fj",该省份下的城市ID分别为"fjxm","fjfz","fjzz",fjsm".这样才能取出某个省份的所有城市. 忘了,还要把select的结果绑定到B的Item里面,这样就可以了,绑定前先Clear一下B的Item。我也是新手。很多人会建议用适配器绑定,但是我用过后觉得很不好用。把做出来的系统移到别的机子上后还要从新改下适配器的链接,相当不爽。不知道哪位大哥在这方面有什么好的建议没有。 WORLDNIC() ( ) 信誉:100在页面上写JS函数selectShengfen(),当选择某个省份的时候就在listBoxCity显示该省份所有的城市.要求省份的VALUE和城市的VALUE要有关联,如某个省份的ID为"fj",该省份下的城市ID分别为"fjxm","fjfz","fjzz",fjsm".这样才能取出某个省份的所有城市.你还真强。顶你。 忘记说了,我用的是C#语言asp.net 使用ajax 或者xmlhttp 网上一搜一大堆 1。另外写一个x.aspx,功能是根据不同省份取得不同城市,结果为xml格式2。当前页中页面载入时就绑定省份控件a和onchange事件,onchage事件中用httprequest从x.aspx中取得对应结果集,并绑定到b控件:代码供参考:var oHttpReq=null; function xmlhttpcr() { try { oHttpReq=new ActiveXObject("Msxml2.XMLHTTP") } catch(e) { try { oHttpReq=new ActiveXObject("Microsoft.XMLHTTP") } catch(oc) { oHttpReq=null } } if ( !oHttpReq && typeof oHttpReqRequest != "undefined" ) { oHttpReq = new oHttpReqRequest() } } //绑定国家 function BindlistCountry() { var drp = document.getElementById("_ctl2_listCountry"); var drpCounty = document.getElementById("_ctl2_listCounty"); var drpTownName = document.getElementById("_ctl2_listTownName"); var drpDistrict = document.getElementById("_ctl2_listDistrict"); i=0; count=drp.options.length -1; while(drp.options.length>0) { drp.remove(0); //清空所有 } xmlhttpcr(); var oDoc = new ActiveXObject("MSXML2.DOMDocument"); url="WebPart/PH_GetDict.aspx?WhichType=Country";//escape:编码后传递 //alert(url); oHttpReq.open("POST", url, false); oHttpReq.send(""); result = oHttpReq.responseText; //alert(result); oDoc.loadXML(result); items = oDoc.selectNodes("//DSDictionary/Dictionary"); for (var item = items.nextNode(); item; item = items.nextNode()) { if(ID==44)newOption.selected=true; var ID = item.selectSingleNode("ID").nodeTypedValue; var Txt = item.selectSingleNode("Txt").nodeTypedValue; //alert(DistrictName); var newOption = document.createElement("OPTION"); newOption.text = Txt; newOption.value = ID; drp.options.add(newOption); } //while(drpTownName.options.length>0) //{ // drp.remove(0); //清空所有 //} //while(drpDistrict.options.length>0) //{ // drp.remove(0); //清空所有 //} } angleoldhen() :好像我看到别人做的例子不需要postback的不知道怎样实现的哦! 最好还是把数据都送到客户段,用javascript实现,避免和服务器端交互。 http://www.cnblogs.com/Truly/archive/2005/08/11/212094.aspx看看这一页,挺好的 手动绑定GridView时,日期格式的设定 NHibernate这个现在用的多吗? 一个老问题,下载中文文件名文件的编码问题 获取datalist中textbox改变后的值 看看这段代码 ,有什么错啊 ,为什么说st_user_id 不在table[0]中呢 ? 在线等,单选按钮问题 ASP.net中在页面之间传递数据有几种方式,大家来讨论一下! 一直迷惑好久的问题,treeview中的一个问题。 那位大哥大组能给我一个Remoting 的例子 b/s模式的 关于一个页面控制另一个页面刷新的问题 请教关于动态生成的tablerow的一些操作? gridview数据绑定时取值问题??
如果是b/s的我建议使用Ajax.net
微软网站上搜索Ajax, 有一篇文章能够帮你解决这个问题,文章的标题我忘了。其中还有一个例子就是针对LZ所提的问题的。
datasource2 绑定城市数据然后将两个datasource分别绑定到两个dropdownlist关键点就是城市的datasource需要设置where内容.主要是将"源"设置为"control,然后将"控件ID"设置为省份下拉菜单的ID.做完这步后,还要设置省份下拉菜单允许立即postback不知道有没有说明白,试试吧
<asp:listbox id="listBoxCity" style="VISIBILITY: hidden" runat="server" rows="1" width="50"></asp:listbox>做一个类似以下的LISTBOX,放所有的省份:<asp:listbox id="listBoxShengfen" runat="server" rows="6" width="140" cssclass="selectstyle"></asp:listbox>在PAGE_LOAD里从数据库里取出省份和城市名分别装载在以上的LISTBOX在省份的LISTBOX增加:
listboxShengfen.attributes("onchange")="selectShengfen();"在页面上写JS函数selectShengfen(),当选择某个省份的时候就在listBoxCity显示该省份所有的城市.要求省份的VALUE和城市的VALUE要有关联,如某个省份的ID为"fj",该省份下的城市ID分别为"fjxm","fjfz","fjzz",fjsm".这样才能取出某个省份的所有城市.
网上一搜一大堆
2。当前页中页面载入时就绑定省份控件a和onchange事件,onchage事件中用httprequest从x.aspx中取得对应结果集,并绑定到b控件:
代码供参考:
var oHttpReq=null;
function xmlhttpcr()
{
try
{
oHttpReq=new ActiveXObject("Msxml2.XMLHTTP")
}
catch(e)
{
try
{
oHttpReq=new ActiveXObject("Microsoft.XMLHTTP")
}
catch(oc)
{
oHttpReq=null
}
}
if ( !oHttpReq && typeof oHttpReqRequest != "undefined" )
{
oHttpReq = new oHttpReqRequest()
}
}
//绑定国家
function BindlistCountry()
{
var drp = document.getElementById("_ctl2_listCountry");
var drpCounty = document.getElementById("_ctl2_listCounty");
var drpTownName = document.getElementById("_ctl2_listTownName");
var drpDistrict = document.getElementById("_ctl2_listDistrict");
i=0;
count=drp.options.length -1;
while(drp.options.length>0)
{
drp.remove(0); //清空所有
}
xmlhttpcr();
var oDoc = new ActiveXObject("MSXML2.DOMDocument");
url="WebPart/PH_GetDict.aspx?WhichType=Country";//escape:编码后传递
//alert(url);
oHttpReq.open("POST", url, false);
oHttpReq.send("");
result = oHttpReq.responseText;
//alert(result);
oDoc.loadXML(result);
items = oDoc.selectNodes("//DSDictionary/Dictionary");
for (var item = items.nextNode(); item; item = items.nextNode())
{
if(ID==44)newOption.selected=true;
var ID = item.selectSingleNode("ID").nodeTypedValue;
var Txt = item.selectSingleNode("Txt").nodeTypedValue;
//alert(DistrictName);
var newOption = document.createElement("OPTION");
newOption.text = Txt;
newOption.value = ID;
drp.options.add(newOption);
}
//while(drpTownName.options.length>0)
//{
// drp.remove(0); //清空所有
//}
//while(drpDistrict.options.length>0)
//{
// drp.remove(0); //清空所有
//} }
不知道怎样实现的哦!