求助!ASP.NET中Dropdownlist 联动问题! 5

有三个表:部门表:人员ID,部门名称;人员表:人员ID,人员名称;项目表;项目名称、所在部门、负责人用detailsview新增项目时,分别用两个dropdownlist... 有三个表:部门表:人员ID,部门名称;
人员表: 人员ID,人员名称;
项目表;项目名称、所在部门、负责人
用detailsview新增项目时,分别用两个dropdownlist来选择项目的所在部门和负责人,希望在选择项目所在部门后,负责人联动到所选部门中的人员!
解决方法我大概清楚,就是不懂代码怎么写,拜托各位大虾给个关键代码,尽量详细,感激不尽!!
展开
 我来答
剑素
2011-02-22 · 超过34用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:94.2万
展开全部
1.触发部门表的TextChanged事件,如果是HTML就是onchange事件.
然后在事件里面得到当前选择部门的ID
AutoPostBack把当你改变dropdownlist的值时会回传并调用事件
2.根据部门ID查询所有人员信息
项目表则重复上面!
Storm代理
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效... 点击进入详情页
本回答由Storm代理提供
花语尘埃
2011-02-24 · TA获得超过170个赞
知道小有建树答主
回答量:503
采纳率:75%
帮助的人:213万
展开全部
用ajax实现无刷新联动,我把代码给你粘上吧!这是省市级联,你可以照做。
html:
<tr>
<td>
所在省市:
</td>
<td colspan="3">
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:DropDownList ID="dropprovince2" runat="server" Width="265px">
</asp:DropDownList>
<asp:DropDownList ID="dropcity2" runat="server" Width="265px">
</asp:DropDownList>
<ajax:CascadingDropDown ID="CascadingProvince" runat="server" TargetControlID="dropprovince2"
ServicePath="SNWebService.asmx" ServiceMethod="GetProvinceContents" Category="Province"
PromptText="--请选择--" LoadingText="省份加载中……" BehaviorID="CascadingProvince"
Enabled="True">
</ajax:CascadingDropDown>
<ajax:CascadingDropDown ID="CascadingCity" runat="server" TargetControlID="dropcity2"
ServicePath="SNWebService.asmx" ServiceMethod="GetCityContents" Category="City"
ParentControlID="dropprovince2" PromptText="--请选择--" LoadingText="城市加载中…">
</ajax:CascadingDropDown>
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>

加一个web服务类:
using System;
using System.Collections;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using AjaxControlToolkit;
using System.Web.Script.Services;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Data;
using System.Data.SqlClient;

/// <summary>
///SNWebService 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
//若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
[System.Web.Script.Services.ScriptService]
public class SNWebService : System.Web.Services.WebService
{

public SNWebService()
{

//如果使用设计的组件,请取消注释以下行
//InitializeComponent();
}
/// <summary>
/// 获取省份数据
/// </summary>
/// <param name="knownCategoryValues"></param>
/// <param name="category"></param>
/// <returns></returns>
[WebMethod]
public CascadingDropDownNameValue[] GetProvinceContents(string knownCategoryValues, string category)
{
List<CascadingDropDownNameValue> provinceList = new List<CascadingDropDownNameValue>();
string constr1=System.Configuration.ConfigurationManager.AppSettings["bbb"];
SqlConnection con1 = new SqlConnection(constr1);
con1.Open();
string sql1 = "select * from Province";
SqlCommand cmd1 = new SqlCommand(sql1,con1);
SqlDataReader dtrProvince = cmd1.ExecuteReader();
while (dtrProvince.Read())
{
provinceList.Add(new CascadingDropDownNameValue(dtrProvince["ProvinceSubType"].ToString(), dtrProvince["ProvinceID"].ToString()));
}
dtrProvince.Close();
con1.Close();
return provinceList.ToArray();
}
/// <summary>
/// 获取市数据
/// </summary>
/// <param name="knownCategoryValues"></param>
/// <param name="category"></param>
/// <returns></returns>
[WebMethod]
public CascadingDropDownNameValue[] GetCityContents(string knownCategoryValues, string category)
{
StringDictionary provinceList = CascadingDropDown.ParseKnownCategoryValuesString(knownCategoryValues);
string constr2 = System.Configuration.ConfigurationManager.AppSettings["bbb"];
SqlConnection con2 = new SqlConnection(constr2);
con2.Open();
string sql2 = "select * from City where ProvinceID='" + provinceList["Province"] + "'";
SqlCommand cmd2 = new SqlCommand(sql2,con2);
SqlDataReader dtrCity = cmd2.ExecuteReader();
List<CascadingDropDownNameValue> cityList = new List<CascadingDropDownNameValue>();
while (dtrCity.Read())
{
cityList.Add(new CascadingDropDownNameValue(dtrCity["CitySubType"].ToString(), dtrCity["CitySubID"].ToString()));
}
dtrCity.Close();
return cityList.ToArray();
}
}

在web.config中加入:
<appSettings>
<add key="bbb" value="Data Source=219.150.97.94;Initial Catalog=nafusendb;User ID=sa;Password=Sa1;"/>
</appSettings>
注意:web.config中的key名就是web服务中AppSettings后面中括号里的值

参考资料: 51aspx源码

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式