今天做一个选择省份自动选出城市的功能, 所选的省份Value值是他的ID(int类型)
我在另一个DropDownList设的查询条件是所选省份的ID,代码是这样的: <li>
<asp:DropDownList ID="shen" runat="server" AppendDataBoundItems="True"
DataSourceID="provincedate" DataTextField="province" DataValueField="id">
<asp:ListItem Value="*">所有省份</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="provincedate" runat="server"
ConnectionString="<%$ ConnectionStrings:qluludataConnectionString %>"
SelectCommand="SELECT [id], [province] FROM [Q_province]">
</asp:SqlDataSource>
</li>
<li>
<asp:DropDownList ID="shi" runat="server" AppendDataBoundItems="True"
DataSourceID="citydate" DataTextField="cityname" DataValueField="cityname">
<asp:ListItem Value="*">所有城市</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="citydate" runat="server"
ConnectionString="<%$ ConnectionStrings:qluludataConnectionString %>"
SelectCommand="SELECT [cityname] FROM [Q_city] WHERE ([provinceid] = @provinceid)">
<SelectParameters>
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</li>
<SelectParameters>已经声明了数据类型是Int32了,怎么还会出错
我在另一个DropDownList设的查询条件是所选省份的ID,代码是这样的: <li>
<asp:DropDownList ID="shen" runat="server" AppendDataBoundItems="True"
DataSourceID="provincedate" DataTextField="province" DataValueField="id">
<asp:ListItem Value="*">所有省份</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="provincedate" runat="server"
ConnectionString="<%$ ConnectionStrings:qluludataConnectionString %>"
SelectCommand="SELECT [id], [province] FROM [Q_province]">
</asp:SqlDataSource>
</li>
<li>
<asp:DropDownList ID="shi" runat="server" AppendDataBoundItems="True"
DataSourceID="citydate" DataTextField="cityname" DataValueField="cityname">
<asp:ListItem Value="*">所有城市</asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="citydate" runat="server"
ConnectionString="<%$ ConnectionStrings:qluludataConnectionString %>"
SelectCommand="SELECT [cityname] FROM [Q_city] WHERE ([provinceid] = @provinceid)">
<SelectParameters>
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
</li>
<SelectParameters>已经声明了数据类型是Int32了,怎么还会出错
解决方案 »
- 求助:SilverLight客户端怎样判断访问一个网站的的时候那个域名比较快?
- ajax登录验证问题,不知有没有人遇到过呢
- 怎么实现两个单独网站和博客用户名同步
- 菜鸟请教:关于文字显示效果的问题!请指点^^^^^^^
- 连接sql数据库时服务器未开所抛出的异常
- 怎么在Asp.net中操作其它机器的共享目录里面的文件?
- 正大互联团队发布第三个控件 —— 树 共享源代码
- 请熟悉梅花雨控件的人帮我一下,怎么使用梅花雨日历控件呢?
- 开发在线考试系统和在线教育系统,大家给点意见
- 正则表达式(公里数)的问题
- 跪求帮助:ASP.NET 2.0 发送HTML邮件中HTML的格式问题
- 根据四酷全书 ASP.NET 新闻发布系统CMS 修改 在vs2005+sql2005上运行,另附设计文档
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue"/>
</SelectParameters>
<SelectParameters>
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue"/>
</SelectParameters>
1.你的第一个 <asp:DropDownList 省区下拉里面要设置 AutoPostBack="true",要不然联动不了 2.没有设置默认值,示例:DefaultValue="guangdong" 3.DropDwonList默认类型是String,所以你可以不指定类型,
解决方法:
1.<asp:DropDownList AutoPostBack="true"...2.<SelectParameters>
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue" DefaultValue="guangdong" />
</SelectParameters>
<SelectParameters>
<asp:ControlParameter ControlID="shen" Name="provinceid"
PropertyName="SelectedValue"/>
</SelectParameters>
字段类型在两处不一致。
2、然后在省份下拉里加AutoPostBack="true"
3、两个下拉的AppendDataBoundItems="True"都去掉,特别是城市,一定要去掉,不然选项越来越多