目标达到的效果:两个下拉框,第二个跟随第一个变化而变化,使用客户端脚本JavaScript在ASP.NET环境下实现。
第一步:建立JavaScript脚本:
在Page_Load中建立并注册这个js脚本:
stringscriptKey="MenuChange";
if(!Page.IsStartupScriptRegistered(scriptKey)&&!Page.IsPostBack)
{
stringscriptBlock=
@"<scriptlanguage=""JavaScript"">
<!--
functionInitBigClass()
{
bigclass=newArray();
bigclass[0]=newArray();
bigclass[0][0]='0';
bigclass[0][1]='全部论坛';
bigclass[1]=newArray();
bigclass[1][0]='3';
bigclass[1][1]='Web开发';
bigclass[2]=newArray();
bigclass[2][0]='4';
bigclass[2][1]='软件工程/管理';
}
functionInitSmallClass()
{
smallclass=newArray();
smallclass[0]=newArray();
smallclass[0][0]='301';
smallclass[0][1]='ASP';
smallclass[0][2]='3';//此处与上面的大类对应
smallclass[1]=newArray();
smallclass[1][0]='303';
smallclass[1][1]='PHP';
smallclass[1][2]='3';
smallclass[2]=newArray();
smallclass[2][0]='401';
smallclass[2][1]='软件工程';
smallclass[2][2]='4';
smallclass[3]=newArray();
smallclass[3][0]='403';
smallclass[3][1]='软件测试';
smallclass[3][2]='4';
}
InitBigClass();
InitSmallClass();
functionchangeitem(myfrm)//主要js的函数!!!
{
varSelectedBigId,i,j;
for(i=myfrm.smallclassid.options.length-1;i>=0;--i)
{
myfrm.smallclassid.options[i]=null;
}
SelectedBigId=myfrm.bigclassid.options[myfrm.bigclassid.selectedIndex].value;
j=0;
for(i=0;i<smallclass.length;i++)
{
if(SelectedBigId==smallclass[i][2])
{
myfrm.smallclassid.options[j]=newOption(smallclass[i][1],smallclass[i][0]);
++j;
}
}
}
//-->
</script>";
Page.RegisterClientScriptBlock(scriptKey,scriptBlock);//注册这个脚本
}
第二步:在页面中加入两个<select>
<selectid="bigclassid"onchange="javascript:changeitem(document.Form1);"name="bigclassid">(Form的id为Form1)
<optionvalue="0"selected>全部论坛</option>
…
</select>
<selectid="smallclassid"name="smallclassid">
<option>请您选择</option>
</select>
注意select的id和name属性要与上面的js相一致。
第三步:在Button_OnClick()中加入代码
inti;
for(i=0;i<Request.Form.Count;i++)
if(Request.Form.AllKeys[i].ToString()=="smallclassid")
break;//从form中找到这个select(根据id或者name查找)
intSelectValue=Request.Form.GetValues(i)[0];//这个值就是select选中的值
分享到:
相关推荐
asp.net无刷新二级联动下拉菜单,Droplist
ASP.NET DropDownList 下拉菜单,联动时页面无刷新
ASP.NET 绑定下拉框的省 城市 县区三级联动,自带所有省 城市数 县区数据文件。
很好的实现,清晰调理,附带数据库脚本,很好用的,希望给大家学习的参考
用javascript+c#实现省市级联动菜单,比较适合购物订单的地址选择
Ajax下拉框Ajax联动下拉框实现的例子
ASP.NET 中的正则表达式 常用的匹配正则表达式和实例 经典正则表达式 delegate vs. event 我是谁?[C#] 表达式计算引擎 正式发布表达式计算引擎WfcExp V0.9(附源码) 运算表达式类的原理及其实现 #实现的18位身份证...
本人觉得很好 自己用数据库做了2个表 一个是省另一个是城市的.
内容索引:.NET源码,Ajax相关,Ajax,无刷新 XML+实现无刷新的Ajax三级城市联动菜单,菜单内容保存在XML文档中,使用了AJAX.DLL组件,打开测试页面后,逐级选择城市,在对应的文本框中会取出菜单值,同时可以手动修改...
用jquery,asp.net4 作的4级联动地址选择用户控件,原来使用了AjaxControlToolkit里面的CascadingDropDown控件,可是发现一个问题,当在客户端用jquery更新了下拉列表中的内容后,无法触发change事件,下级菜单不能...
一个多功能的GridView,在asp.net原有的GridView上增加了11个新功能,包括分组,冻结窗口,鼠标事件,复合排序,联动复选框,响应行的单击事件和双击事件,行右键菜单,自定义分页样式,合并指定列的相邻且内容相同的单元格等...
asp.net DropDownList 三级联动下拉菜单效果代码,需要的朋友可以参考下。
// CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /**//// /// Required method for Designer support - do not modify /// the ...
asp.net C#,与数据库相关联的二级联动下拉选择列表。前台aspx+后台cs文件+AJAX控件,比较完整,不像网上死白COPY的那样,缺这缺那。绝对方便学习使用。
此文件是借助别人的基础上稍作修改 .net+xml+ajax.dll实现省市县三级联动无刷新代码例子
主要介绍了jQuery+Asp.Net实现省市二级联动功能的方法,涉及asp.net数据库读取与字符串转换相关操作技巧,需要的朋友可以参考下
ASP 加数据库 四级菜单联动 <!--#include file="adoconn.asp"--> var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) ...
AJAX无限级联动菜单 使用ASP.NET+AJAX和ACCESS数据库开发 简单易懂
自由宿主Asp.net网站通用后台管理系统特点如下: 1. 后台本身没有数据库,自己设计数据库后,与后台连接,配置好节点后无需二次开发,直接就可以实现对数据库增删改查功能; 2. 后台密码支持自定义加密/解密算法,...
Asp Ajax 联动菜单 很好很实用. 测试没问题.