级联选择,请赐教,谢谢。

sqllong 2009-08-11 06:28:20
项目中用到了了AjaxControltoolkit中的CascadingDropDown控件,来实现省市的无刷新级联选择。现数据初始化加载已经完成,能根据数据库的数据加载到对应的dropdownlist控件中。目前遇到的问题是,在修改数据的时候,如何加载指定的省市信息。(即:ddlPro.SelectedValue始终为“”,ddlPro.SelectedIndex始终为0,),通过怎样的方法,才能实现让dropdownlist选中指定的索引项,请给出思路和代码,谢谢各位了。

明天来结贴~~~~~
...全文
161 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
sqllong 2009-08-12
  • 打赏
  • 举报
回复
对CascadingDropDown控件的机制了解不够~~
sqllong 2009-08-12
  • 打赏
  • 举报
回复
问题解决,代码如下:
CascadingDropDown1.SelectedValue = ds.Tables[0].Rows[0]["corpProprovince"].ToString();
CascadingDropDown2.SelectedValue = ds.Tables[0].Rows[0]["corpCity"].ToString();

chenjianyong94 2009-08-12
  • 打赏
  • 举报
回复
code=C#]
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DepList.Add(new CascadingDropDownNameValue(ds.Tables[0].Rows[i]["CodeName"].ToString(), ds.Tables[0].Rows[i]["CodeID"].ToString()));
}
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["CodeID"].ToString() == HttpContext.Current.Session["depid"].ToString())
{
DepList[i].isDefaultValue = true;
}
}[/code]
junlintianxia07 2009-08-12
  • 打赏
  • 举报
回复
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
DepList.Add(new CascadingDropDownNameValue(ds.Tables[0].Rows[i]["CodeName"].ToString(), ds.Tables[0].Rows[i]["CodeID"].ToString()));
}
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
if (ds.Tables[0].Rows[i]["CodeID"].ToString() == HttpContext.Current.Session["depid"].ToString())
{
DepList[i].isDefaultValue = true;
}
}
sqllong 2009-08-12
  • 打赏
  • 举报
回复
谢谢各位;
8楼的方法不可行,提示“未将对象引用设置到对象的实例。”
毛病可能是9楼说的,大家有解决的办法吗?
Lovely_baby 2009-08-12
  • 打赏
  • 举报
回复
http://www.cnblogs.com/liqiang665/archive/2007/09/25/905181.html
IHandler 2009-08-12
  • 打赏
  • 举报
回复

可能CascadingDropDown 控件数据没加载完就设置了
tiancy0605 2009-08-12
  • 打赏
  • 举报
回复
ddlPro.Items.FindByValue(ds.Tables[0].Rows[0]["corpProprovince"].ToString()).Selected = true;
ddlCity.Items.FindByValue(ds.Tables[0].Rows[0]["corpCity"].ToString()).Selected = true;

sqllong 2009-08-12
  • 打赏
  • 举报
回复
数据加载代码如下,能正常运行。

<asp:DropDownList ID="ddlPro" runat="server"></asp:DropDownList>
<asp:DropDownList ID="ddlCity" runat="server"></asp:DropDownList> 
<cc1:CascadingDropDown ID="CascadingDropDown1" runat="server"
ServiceMethod="GetProvince" TargetControlID="ddlPro" Category="pCode"
PromptText="请选择省份" LoadingText="正在加载省份信息..."
ServicePath="../WebService.asmx">
</cc1:CascadingDropDown>
<cc1:CascadingDropDown ID="CascadingDropDown2" runat="server"
ScriptPath="../WebService.asmx" ServiceMethod="GetCity"
TargetControlID="ddlCity" Category="cCode" PromptText="请选择市区" LoadingText="正在加载市区信息..."
ParentControlID="ddlPro" ServicePath="../WebService.asmx">
</cc1:CascadingDropDown>

现遇到的问题是,如果,数据库里某条记录的省份值为:5,城市值为15,通过以下代码不能选中指定的索引项。

ddlPro.SelectedValue = ds.Tables[0].Rows[0]["corpProprovince"].ToString();
ddlCity.SelectedValue = ds.Tables[0].Rows[0]["corpCity"].ToString();

请指教,谢谢。
ch219888 2009-08-11
  • 打赏
  • 举报
回复
加载ddlPro.SelectedValue的时候选中你要的值不是可以了吗
wuyq11 2009-08-11
  • 打赏
  • 举报
回复
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="ddlProvince" runat="server">
</asp:DropDownList><asp:DropDownList ID="ddlCity" runat="server">
</asp:DropDownList><asp:DropDownList ID="ddlVilliage" runat="server">
</asp:DropDownList><ajax:CascadingDropDown ID="CascadingDropDown2" runat="server" TargetControlID="ddlProvince" ServicePath="SNWebService.asmx" ServiceMethod="GetProvinceContents" Category="Province" PromptText="请选择省份" LoadingText="省份加载中...">
</ajax:CascadingDropDown>
<ajax:CascadingDropDown ID="CascadingDropDown1" runat="server" ParentControlID="ddlProvince" ServicePath="SNWebService.asmx" ServiceMethod="GetCityContents" Category="City" TargetControlID="ddlCity" PromptText="请选择城市" LoadingText="城市加载中...">
</ajax:CascadingDropDown>
<ajax:CascadingDropDown ID="CascadingDropDown3" runat="server" Category="Villiage" LoadingText="加载中..."
ParentControlID="ddlCity" PromptText="请选择" ServiceMethod="GetViliageContents"
ServicePath="SNWebService.asmx" TargetControlID="ddlVilliage">
</ajax:CascadingDropDown>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Button1" />
</Triggers>
</asp:UpdatePanel>
红街咖啡 2009-08-11
  • 打赏
  • 举报
回复
友情帮顶
bychgh 2009-08-11
  • 打赏
  • 举报
回复
帮顶
泡面之夏 2009-08-11
  • 打赏
  • 举报
回复
你想达到的目的是什么?
你修改的数据是什么地方的?
问题我没弄明白。。。
AmySiva 2009-08-11
  • 打赏
  • 举报
回复
把它的ID 绑定到那个VALUE值中。 根据ID实现三级联动。

62,067

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧