asp.net菜单源代码(ASPNET控件)
admin 发布:2022-12-19 21:34 112
本篇文章给大家谈谈asp.net菜单源代码,以及ASPNET控件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
求Asp.net菜单的制作方法及代码?VS2005.net,C#
用Menu控件可以,不用必须关联站点地图。直接修改Items属性就可以。
具体实现在MenuItemClick事件中编写代码。
然后把样式定义好就能和你这个菜单一致,把方向改成横向。
asp.net可以自行输入和选择下拉菜单的源代码或控件
代码给你了 剩下的就交个你了。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI.WebControls;
using System.Web.UI;
namespace Common_Core.CustomControl
{
[ToolboxData("{0}:DropDownTextBox runat=\"server\" /")]
public class DropDownTextBox : System.Web.UI.WebControls.TextBox
{
private DropDownList _DropDownList;
public DropDownTextBox()
{
this._DropDownList = new DropDownList();
this.DataTextField = "sName";
this.DataValueField = "PK_ID";
}
/// summary
/// text
/// /summary
public string DataTextField { get; set; }
/// summary
/// value
/// /summary
public string DataValueField { get; set; }
/// summary
/// datasource
/// /summary
public object DataSource { get; set; }
/// summary
/// bind data
/// /summary
private void BindData()
{
if (DataSource == null) return;
_DropDownList.DataSource = this.DataSource;
_DropDownList.DataTextField = this.DataTextField;
_DropDownList.DataValueField = this.DataValueField;
_DropDownList.DataBind();
}
protected override void Render(HtmlTextWriter output)
{
int iWidth = Convert.ToInt32(base.Width.Value);
if (iWidth == 0)
{
iWidth = 102;
base.Width = Unit.Parse("102px");
}
int sWidth = iWidth + 16;
int spanWidth = sWidth - 18;
output.Write("div style=\"POSITION:relative\"");
output.Write("span style=\"MARGIN-LEFT:" + spanWidth.ToString() + "px;OVERFLOW:hidden;WIDTH:18px\"");
_DropDownList.Width = Unit.Parse(sWidth.ToString() + "px");
_DropDownList.Style.Add("MARGIN-LEFT", "-" + spanWidth.ToString() + "px");
_DropDownList.ID = base.ID + "_Select";
_DropDownList.Attributes.Add("onchange", "this.parentNode.nextSibling.value=this.options[this.selectedIndex].text");
_DropDownList.Attributes.Add("onfocus", "" + this.getFocusScript() + "");
//LoadData();
BindData();
_DropDownList.RenderControl(output);
output.Write("/span");
base.Style.Clear();
base.Width = Unit.Parse(iWidth.ToString() + "px");
base.Style.Add("left", "0px");
base.Style.Add("POSITION", "absolute");
base.Render(output);
output.Write("/div");
}
private string getFocusScript()
{
string strScript = "\n";
strScript += "var isExist = -2;\n";
strScript += "var obj = event.srcElement;\n";
strScript += "var str = this.parentNode.nextSibling.value;\n";
strScript += "var ary = obj.options;\n";
strScript += "for(var i=0;iary.length;i++){\n";
strScript += " if(str == ary[i].text){\n";
strScript += " isExist = i;\n";
strScript += " break;\n";
strScript += " }\n";
strScript += "}\n";
strScript += "if(isExist != -2){\n";
strScript += " obj.selectedIndex = isExist;\n";
strScript += "}\n";
strScript += "else{\n";
strScript += " obj.selectedIndex = -1;\n";
strScript += "}\n";
return strScript;
}
}
}
asp.net:求一份能从数据库中读取数据动态生成菜单目录的源码
怎么发给你呢?
算了 还是直接发给你吧,这个是我之前学习的时候,在网上找的。希望能够对你有所帮助:
第一步 建表
create table TreeTest
(
id int identity(1,1) primary key ,
treeId int, --数形结构 1,代表根目录 2,代表根的下一级目录,3代表根的子目录的子目录。。依次类推
names varchar(200), --url传的参数值
page varchar(200) --页面
)
--添加测试数据
insert into TreeTest select 1,'张三','default.aspx'
union all select 2,'李四','default1.aspx'
union all select 2,'王五','default2.aspx'
union all select 2,'唐僧','default3.aspx'
union all select 3,'八戒','default4.aspx'
union all select 3,'八戒','default5.aspx'
第二步 在页面写如下代码
body
form id="form1" runat="server"
div
asp:Menu ID="Menu1" runat="server"
/asp:Menu
/div
/form
/body
第三步 在页面后台写如下代码(注意不要整个复制,因为类名不一样)
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Data.ProviderBase;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
DataSet ds = new DataSet();
protected void Page_Load(object sender, EventArgs e)
{
//Menu1.Items.Add(i1);
//i1.ChildItems.Add(i2);
// 在此处放置用户代码以初始化页面
SqlConnection CN = new SqlConnection("server=数据名连接地址;User id=;pwd=;database=tempdb");
//初始化连接字符串
CN.Open();
//添加命令,从数据库中得到数据
SqlCommand sqlCmd = new SqlCommand();
sqlCmd.Connection = CN;
sqlCmd.CommandText = "select * from TreeTest";
sqlCmd.CommandType = CommandType.Text;
SqlDataAdapter adp = new SqlDataAdapter(sqlCmd);
adp.Fill(ds);
//调用递归函数,完成树形结构的生成
//tn2=AddTree(0, (TreeNode)null);
//TreeView1.Nodes.Add(tn2);
AddTree(1, (MenuItem)null);
}
public void AddTree(int ParentID, MenuItem pNode)
{
string url1;
string url2;
string url3;
string url4;
MenuItem mi = new MenuItem();
//TreeNode tn1 = new TreeNode();
DataView dvTree = new DataView(ds.Tables[0]);
//过滤ParentID,得到当前的所有子节点
dvTree.RowFilter = "treeId = " + ParentID;
foreach (DataRowView Row in dvTree)
{
if (pNode == null)
{ //'?添加根节点
url1 = Row["names"].ToString();
url2 = Row["page"].ToString() + "?name=" + url1;
mi.Text = url1;
mi.NavigateUrl = url2;
mi.Target = "_blank";
// tn1.Text = url1;
// tn1.NavigateUrl = url2;
Menu1.Items.Add(mi);
// TreeView1.Nodes.Add(tn1);
AddTree(Int32.Parse(Row["id"].ToString()) + 1, mi); //再次递归
}
else
{ //添加当前节点的子节点
// TreeNode tn2 = new TreeNode();
MenuItem m2 = new MenuItem();
url3 = Row["names"].ToString();
url4 = Row["page"].ToString() + "?name=" + url3;
m2.Text = url3;
m2.NavigateUrl = url4;
m2.Target = "_blank";
//tn2.Text = url3;
//tn2.NavigateUrl = url4;
pNode.ChildItems.Add(m2); //修改的地方
// pNode.ChildNodes.Add(tn2);
AddTree(Int32.Parse(Row["id"].ToString()) + 1, m2); //再次递归
}
}
}
}
关于asp.net菜单源代码和ASPNET控件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;
- 上一篇:每日提醒实现代码(代码提示功能)
- 下一篇:ios围棋源代码(ios 围棋ai)
相关推荐
- 05-04vb.net代码入门(vb·net)[20240504更新]
- 05-04qq音乐主页源代码(最新音乐代码)[20240504更新]
- 05-04奶茶页面的HTML源代码(奶茶网站html制作)[20240504更新]
- 05-04html网页制作源代码(web网页制作源代码)[20240504更新]
- 05-04包含鹊桥源代码的词条[20240504更新]
- 05-04免费ssh源代码(免费ssh工具)[20240504更新]
- 05-04中英商城PC手机源代码(中英商城pc手机源代码是什么)[20240504更新]
- 05-04源代码网络(源代码网站)[20240504更新]
- 05-04asp.netdes加密代码(asp加密算法代码)[20240504更新]
- 05-04html图片源代码(html代码生成图片)[20240504更新]
取消回复欢迎 你 发表评论:
- 标签列表
- 最近发表
- 友情链接