现在要做一个二级联动
比如
选择地区后,医院就对应地区医院
比如选择地区为汉口,医院就显示协和 同济之类的
在网上找到一个MagicAjax资源
可以实现这个需求
在aspx中
Code
<%@ Register TagPrefix="ajax" Namespace="MagicAjax.UI.Controls" Assembly="MagicAjax" %>
<ajax:AjaxPanel ID="AjaxPanel1" runat="Server">
<td>
<asp:DropDownList ID="DDLArea" DataTextField="AName" AutoPostBack=true
DataValueField="AID" runat="server"
onselectedindexchanged="DDLArea_SelectedIndexChanged">
</asp:DropDownList>
</td></tr><tr>
<th>
医院
</th>
<td>
<asp:DropDownList ID="DDLHospital" DataTextField="HNAME" DataValueField="HID" runat="server">
</asp:DropDownList>
</td>
</ajax:AjaxPanel>
。cs中
protected void DDLArea_SelectedIndexChanged(object sender, EventArgs e)
{
int AID = Convert.ToInt32(DDLArea.SelectedValue);
HosptialBind(AID);
}
void HosptialBind(int AID)
{
if (AID > 0)
this.DDLHospital.DataSource = HospitalDAL.Instance.Find(" AID = "+AID);
else
this.DDLHospital.DataSource = HospitalDAL.Instance.GetAll();
HospitalDAL.Instance.SortField = "HID";
this.DDLHospital.DataBind();
}
<%@ Register TagPrefix="ajax" Namespace="MagicAjax.UI.Controls" Assembly="MagicAjax" %>
<ajax:AjaxPanel ID="AjaxPanel1" runat="Server">
<td>
<asp:DropDownList ID="DDLArea" DataTextField="AName" AutoPostBack=true
DataValueField="AID" runat="server"
onselectedindexchanged="DDLArea_SelectedIndexChanged">
</asp:DropDownList>
</td></tr><tr>
<th>
医院
</th>
<td>
<asp:DropDownList ID="DDLHospital" DataTextField="HNAME" DataValueField="HID" runat="server">
</asp:DropDownList>
</td>
</ajax:AjaxPanel>
。cs中
protected void DDLArea_SelectedIndexChanged(object sender, EventArgs e)
{
int AID = Convert.ToInt32(DDLArea.SelectedValue);
HosptialBind(AID);
}
void HosptialBind(int AID)
{
if (AID > 0)
this.DDLHospital.DataSource = HospitalDAL.Instance.Find(" AID = "+AID);
else
this.DDLHospital.DataSource = HospitalDAL.Instance.GetAll();
HospitalDAL.Instance.SortField = "HID";
this.DDLHospital.DataBind();
}
在web.config中
Code
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=*"/>
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<magicAjax tracing="false" scriptPath="~/script">
<pageStore/>
</magicAjax>
<dataConfiguration defaultDatabase="XiaoAFu"/>
<connectionStrings>
<add name="XiaoAFu" connectionString="Data Source=.;Initial Catalog=XiaoAFu_New;User ID=sa;Password=sa;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<pages>
<controls>
<add namespace="MagicAjax.UI.Controls" assembly="MagicAjax" tagPrefix="ajax"/>
</controls>
</pages>
<httpModules>
<add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
</httpModules>
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
<!--
通过 <authentication> 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
<authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<compilation debug="true"/></system.web>
</configuration>
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=3.1.0.0, Culture=neutral, PublicKeyToken=*"/>
<section name="magicAjax" type="MagicAjax.Configuration.MagicAjaxSectionHandler, MagicAjax"/>
</configSections>
<magicAjax tracing="false" scriptPath="~/script">
<pageStore/>
</magicAjax>
<dataConfiguration defaultDatabase="XiaoAFu"/>
<connectionStrings>
<add name="XiaoAFu" connectionString="Data Source=.;Initial Catalog=XiaoAFu_New;User ID=sa;Password=sa;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<!--
设置 compilation debug="true" 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true。
-->
<pages>
<controls>
<add namespace="MagicAjax.UI.Controls" assembly="MagicAjax" tagPrefix="ajax"/>
</controls>
</pages>
<httpModules>
<add name="MagicAjaxModule" type="MagicAjax.MagicAjaxModule, MagicAjax"/>
</httpModules>
<globalization requestEncoding="gb2312" responseEncoding="gb2312"/>
<!--
通过 <authentication> 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
<authentication mode="Windows"/>
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 <customErrors> 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
<compilation debug="true"/></system.web>
</configuration>