二级菜单无刷新联动(XMLPOST + Jscript 方式)
根据Menu Type 的选择来,来获取Menu的数据
Menu_Type 存有两个选择 主菜单 和 子菜单
主菜单不存有菜单项,用来在在其下面挂菜单的,也就是说主菜单都存有子项菜单
Menu选择子菜单,Menu列出所有的菜单内容
程序是放在ascx 中做的,下面我们来看代码部分
1. 前台代码(全部代码,其实我们主要看jscript 部分XmlPost(obj) 和背景色high light 部分)
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="UC_Menu_Level_Init.ascx.cs" Inherits="Live.Admin.UserControls.UC_Menu_Level_Init" %>
<table border="1" bordercolor="lightblue" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 100%; height: 13px" valign="top">
<table border="0" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 100%; height: 19px" valign="top">
Menu Level Edit</td>
</tr>
</table>
<table border="0" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td align="left" style="width: 160px; height: 24px" valign="top">
Menu Type</td>
<td align="left" style="width: 679px; height: 24px" valign="top">
<asp:DropDownList ID="DropDownList_MenuType" runat="server" Width="154px">
</asp:DropDownList></td>
</tr>
<tr>
<td align="left" style="width: 160px; height: 24px" valign="top">
Menu Level Code</td>
<td align="left" style="width: 679px; height: 24px" valign="top">
<asp:TextBox ID="TextBox_Level_Code" runat="server" Width="263px"></asp:TextBox></td>
</tr>
<tr>
<td align="left" style="width: 160px; height: 24px" valign="top">
Menu Parent Level Code</td>
<td align="left" style="width: 679px; height: 24px" valign="top">
<asp:TextBox ID="TextBox_Level_Parent_Code" runat="server" Width="263px"></asp:TextBox></td>
</tr>
<tr>
<td align="left" style="width: 160px; height: 24px" valign="top">
Menu Level Name(En)</td>
<td align="left" style="width: 679px; height: 24px" valign="top">
<asp:TextBox ID="TextBox_Level_Name_En" runat="server" Width="263px"></asp:TextBox></td>
</tr>
<tr style="color: #000000">
<td align="left" style="width: 160px; height: 24px" valign="top">
Menu Level Name(Cn)</td>
<td align="left" style="width: 679px; height: 24px" valign="top">
<asp:TextBox ID="TextBox_Level_Name_Cn" runat="server" Width="263px"></asp:TextBox></td>
</tr>
<tr style="color: #000000">
<td align="left" style="width: 160px; height: 22px">
Menu</td>
<td align="left" style="width: 679px; height: 22px"><asp:DropDownList ID="DropDownList_Menu" runat="server" Width="154px">
</asp:DropDownList></td>
</tr>
<tr>
<td align="left" style="width: 160px; height: 24px">
Sort Number</td>
<td align="left" style="width: 679px; height: 24px">
<asp:TextBox ID="TextBox_SortNumber" runat="server" Width="41px"></asp:TextBox></td>
</tr>
<tr>
<td align="left" style="width: 160px; height: 24px">
Status</td>
<td align="left" style="width: 679px; height: 24px">
<asp:DropDownList ID="DropDownList_Status" runat="server" Width="154px">
</asp:DropDownList></td>
</tr>
</table>
<table border="0" bordercolor="#888888" bordercolordark="#ffffff" cellpadding="0"
cellspacing="0" width="100%">
<tr>
<td style="width: 100%; height: 21px" valign="top">
<asp:Button ID="Button_Menu_Add" runat="server" Text="Add"
Width="58px" /></td>
</tr>
</table>
<asp:DataGrid ID="DataGrid_MenuList" runat="server" AutoGenerateColumns="False" BackColor="#F7F7F7"
BorderColor="#F7F7F7" BorderStyle="Solid" BorderWidth="1px" CssClass="table"
DataKeyField="Menu_ID" Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Size="10pt" Font-Strikeout="False" Font-Underline="False" Width="100%">
<FooterStyle CssClass="headcenter" />
<EditItemStyle BackColor="LightGray" ForeColor="Black" Width="100%" />
<SelectedItemStyle BackColor="Transparent" />
<AlternatingItemStyle BackColor="White" BorderColor="White" />
<ItemStyle BackColor="AliceBlue" CssClass="textcenter" Font-Bold="False" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />
<HeaderStyle BackColor="LightSteelBlue" CssClass="headcenter" Font-Bold="True" Font-Italic="False"
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />
<Columns>
<asp:BoundColumn DataField="Menu_ID" HeaderText="Menu ID"></asp:BoundColumn>
<asp:BoundColumn DataField="Menu_Name_En" HeaderText="Menu Name(En)"></asp:BoundColumn>
<asp:BoundColumn DataField="Menu_Name_Cn" HeaderText="Menu Name(Cn)"></asp:BoundColumn>
<asp:BoundColumn DataField="Url" HeaderText="Url"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Status">
<ItemTemplate>
<asp:Label ID="Level_Status_L1" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Status.Status_Desc_Cn") %>'
Visible="true"></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DropDownList_Status_D" runat="server" Width="112px">
</asp:DropDownList>
<asp:Label ID="Level_Status_L2" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.Status.Status_Code") %>'
Visible="False"></asp:Label>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Update Menu">
<ItemStyle Width="15%" />
<ItemTemplate>
<asp:LinkButton ID="Linkbutton_Edit" runat="server" CausesValidation="false" CommandName="Edit"
NAME="Linkbutton1" Text="<img border=0 src=Images/Files/Edit.gif alt=Edit this item>"></asp:LinkButton>
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="Linkbutton2" runat="server" CausesValidation="false" CommandName="Update"
NAME="Linkbutton2" Text="<img border=0 src=Images/Files/Save.gif alt=Save...>"></asp:LinkButton>
<asp:LinkButton ID="Linkbutton3" runat="server" CausesValidation="false" CommandName="Cancel"
NAME="Linkbutton3" Text="<img border=0 src=Images/Files/Undo.gif alt=Cancel...>"></asp:LinkButton>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:ButtonColumn CommandName="Delete" HeaderText="Delete Menu" Text="<img border=0 src=Images/Files/Delete.gif alt=Delete this item>">
</asp:ButtonColumn>
</Columns>
</asp:DataGrid></td>
</tr>
</table>
<script type="text/javascript" defer=true>
//以XML求取数据
function XmlPost(obj)
{
var svalue = obj.value;
//alert(svalue);
if(svalue=="请选择")
{
document.getElementById('<%=DropDownList_Menu.ClientID %>').length=0;
}
else if(svalue==1) //Top 主菜单
{
document.getElementById('<%=DropDownList_Menu.ClientID %>').length=0;//清空原来存在的
document.getElementById('<%=DropDownList_Menu.ClientID %>').options.add(new Option("--不设菜单--",0)); //不设菜单,Menu_ID 都设为
}
else
{
var webFileUrl = "?TypeID=" + svalue;
var result = "";
var xmlHttp = new ActiveXObject("MSXML2.XMLHTTP");
xmlHttp.open("POST", webFileUrl, false);//使用XMLPOST方式
xmlHttp.send("");//发送
result = xmlHttp.responseText;//得到返回的结果
if(result != "")
{
document.getElementById('<%=DropDownList_Menu.ClientID %>').length=0;//清空原来存在的
var LArray = result.split(",");
for(var i=0;i<LArray.length;i++)
{
var ary1 = LArray[i].toString().split("|");
//alert(ary1[0].toString());
//alert(ary1[1].toString());
document.getElementById('<%=DropDownList_Menu.ClientID %>').options.add(new Option(ary1[0].toString(),ary1[1].toString()));
}
}
<
分享到:
相关推荐
省市县三级菜单联动(mysql+ajax+json+php),很简单易懂的代码,这段代码可以直接拿到项目中使用
二级联动菜单 省市联动 联动菜单 无刷新联动 方便 简单 快捷
省市选择三级联动,Html+Jquery+XML+Ajax实现,无论php,jsp, html, asp ,aspx等各种语言都通用。 http://blog.csdn.net/ful1021/article/details/16310667 详细查看地址
asp.net无刷新二级联动下拉菜单,Droplist
三种方法实现下拉菜单无刷新联动
无刷新二级联动无刷新二级联动无刷新二级联动
js三级联动,省县市三级联动,xmljs联动,三级联动 js+jsion三级联动 xml+js+jquery 三级联动大全。
JS+ASP二级联动菜单.txtJS+ASP二级联动菜单JS+ASP二级联动菜单JS+ASP二级联动菜单JS+ASP二级联动菜单
js实现的二级菜单联动。选择的是省市联动
纯JSP+DWR实现三级联动下拉选择菜单 实现无刷新联动 DWR判断用户是否存在 ajax二级联动菜单 DWR操作数据库模拟实现Google搜索效果
无刷新二级联动dropdownlist菜单.rar
年月两级联动无刷新。年月显示最近十年数据。文件形式为.net用户控价下载后直接导入到项目后用法同用户控件用法。很方便
此文件是借助别人的基础上稍作修改 .net+xml+ajax.dll实现省市县三级联动无刷新代码例子
Asp.net二级下拉框无刷新联动。网上的例子不是这不行就是那不行,这个例子我费了好大劲才调通。IE和FireFox都能用,里面附有建表问。欢迎大家提意见进行改进。
无刷新联动菜单 无刷新联动菜单 无刷新联动菜单
phpmysql下拉菜单二级联动,连接数据库mysql
JavaScript+xml实现下拉二级联动菜单 JavaScript+xml实现下拉二级联动菜单
无刷新的二级联动 可以实现无刷新的形式 很好的一种
ASP 加数据库 四级菜单联动 <!--#include file="adoconn.asp"--> var m_oXMLDoc = new ActiveXObject("Microsoft.XMLDOM"); var m_sBaseSrc = "Tree.asp?ParentCode="; //源码爱好者(http://www.codefans.net) ...
两级联动菜单两级联动菜两级联动两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单两级联动菜单菜单单