.net的dropdownlist联动问题
有2个dropdownlist,都绑定了数据库,第二个会根据第一个dropdownlist的选项变化,重新绑定数据库显示不同选项,但是每次都要自动刷新页面,怎样能做到无闪...
有2个dropdownlist,都绑定了数据库,第二个会根据第一个dropdownlist的选项变化,重新绑定数据库显示不同选项,但是每次都要自动刷新页面,怎样能做到无闪刷新页面??
比如js实现?
<asp:DropDownList ID="DDLRLive" runat="server" DataTextField="RPlace"
OnSelectedIndexChanged="RBPlaceChange" AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList ID="DDLRLive2" runat="server" DataTextField="RPlace2" ></asp:DropDownList>
public void RBPlaceChange(object sender, EventArgs e)
{
……DDLRLive2绑定数据
}
.net 2.0用不了ScriptManager 和UpdatePanel 展开
比如js实现?
<asp:DropDownList ID="DDLRLive" runat="server" DataTextField="RPlace"
OnSelectedIndexChanged="RBPlaceChange" AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList ID="DDLRLive2" runat="server" DataTextField="RPlace2" ></asp:DropDownList>
public void RBPlaceChange(object sender, EventArgs e)
{
……DDLRLive2绑定数据
}
.net 2.0用不了ScriptManager 和UpdatePanel 展开
4个回答
2011-04-07
展开全部
子吧,设计产品数据库,包含2个表
表1:产品分类表(ID,分类的名称)
表2:产品表(ID,产品的名字,产品分类(表1的主键))
第一种方法:同步刷新
在页面显示的时候,第一个DROPDOWNLIST绑定到产品分类表,并且设置它的AutoPostBack属性为True
然后在Page_Load事件里面写入:
if (IsPostBack)
{
try
{
Int32 id = Int32.Parse(DropDownList1.SelectedValue);
string sql = "SELECT [ID], [产品名称] FROM [产品表] WHERE ([分类ID] = " + id + ")";
DataTable Dt = DbHelper.OleDbHelper.GetDataSet(sql).Tables[0];//这是我自己写的一个数据库操作类,返回一个数据表格
string code, name;
DropDownList2.Items.Clear();//清除上次的内容
for (int i = 0; i < Dt.Rows.Count; i++)
{
code = Dt.Rows[i]["ID"].ToString();
name = Dt.Rows[i]["产品名称"].ToString();
DropDownList2.Items.Add(new ListItem(name, code));//填充数据
}
}
catch
}
第二种,异步刷新
先在页面里面放入一个ScriptManager,再放入一个UpdatePanel,然后在UpdatePanel里面放入2个DropDownList,其他步骤和第一种一样。
另外,站长团上有产品团购,便宜有保证
表1:产品分类表(ID,分类的名称)
表2:产品表(ID,产品的名字,产品分类(表1的主键))
第一种方法:同步刷新
在页面显示的时候,第一个DROPDOWNLIST绑定到产品分类表,并且设置它的AutoPostBack属性为True
然后在Page_Load事件里面写入:
if (IsPostBack)
{
try
{
Int32 id = Int32.Parse(DropDownList1.SelectedValue);
string sql = "SELECT [ID], [产品名称] FROM [产品表] WHERE ([分类ID] = " + id + ")";
DataTable Dt = DbHelper.OleDbHelper.GetDataSet(sql).Tables[0];//这是我自己写的一个数据库操作类,返回一个数据表格
string code, name;
DropDownList2.Items.Clear();//清除上次的内容
for (int i = 0; i < Dt.Rows.Count; i++)
{
code = Dt.Rows[i]["ID"].ToString();
name = Dt.Rows[i]["产品名称"].ToString();
DropDownList2.Items.Add(new ListItem(name, code));//填充数据
}
}
catch
}
第二种,异步刷新
先在页面里面放入一个ScriptManager,再放入一个UpdatePanel,然后在UpdatePanel里面放入2个DropDownList,其他步骤和第一种一样。
另外,站长团上有产品团购,便宜有保证
展开全部
<asp:ScriptManager ID = "sm" runat = "server"></asp:ScriptManager>
<asp:UpdatePanel ID = "up" runat = "server">
<ContentTemplate>
<asp:DropDownList ID="DDLRLive" runat="server" DataTextField="RPlace"
OnSelectedIndexChanged="RBPlaceChange" AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList ID="DDLRLive2" runat="server" DataTextField="RPlace2" ></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
使用ScriptManager 和UpdatePanel ,你试试,在网上有很多用UpdatePanel 的实例的短代码,你搜搜去
<asp:UpdatePanel ID = "up" runat = "server">
<ContentTemplate>
<asp:DropDownList ID="DDLRLive" runat="server" DataTextField="RPlace"
OnSelectedIndexChanged="RBPlaceChange" AutoPostBack="true">
</asp:DropDownList>
<asp:DropDownList ID="DDLRLive2" runat="server" DataTextField="RPlace2" ></asp:DropDownList>
</ContentTemplate>
</asp:UpdatePanel>
使用ScriptManager 和UpdatePanel ,你试试,在网上有很多用UpdatePanel 的实例的短代码,你搜搜去
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不是.net2.0用不了ScriptManager 和UpdatePanel
是你没有下载ajaxkit包
下载安装了就有了。就可以实现无刷新了。
是你没有下载ajaxkit包
下载安装了就有了。就可以实现无刷新了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
到http://www.codeplex.com
下载AjaxControlToolkit
现在最新版应该是4.0412的,下载适用于.Net 3.5的就可以了,不是用.Net 4.0
.net3.5 在vs2008上就可以用了,4.0的要到2010上用的。而且很多服务器不支持4。0的
可以参考:
http://hi.baidu.com/zjking99/blog/item/d1a713f9589ee055242df20e.html
下载AjaxControlToolkit
现在最新版应该是4.0412的,下载适用于.Net 3.5的就可以了,不是用.Net 4.0
.net3.5 在vs2008上就可以用了,4.0的要到2010上用的。而且很多服务器不支持4。0的
可以参考:
http://hi.baidu.com/zjking99/blog/item/d1a713f9589ee055242df20e.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询