|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。明天一伴侣在扣问静态增加与删除控件的成绩,编纂依据本人的履历,新建了一个静态往Panel控件中增加与删除Button按钮的示例,仅供参考:
起首在新建一个WebForm文件,在aspx文件中增加以下控件,以做测试之用,以下代码:
<%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="WebForm1.aspx.cs"Inherits="WebApplication1.WebForm1"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title></title>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:PanelID="Panel1"runat="server">
</asp:Panel>
<br/>
<asp:ButtonID="Button1"runat="server"Text="增添"/>
<asp:ButtonID="Button2"runat="server"Text="重新删除"/>
<asp:ButtonID="Button3"runat="server"Text="从尾删除"/>
指定ID:<asp:TextBoxID="TextBox1"runat="server"></asp:TextBox>
<asp:ButtonID="Button4"runat="server"
Text="删除指定ID的按钮"/>
</div>
</form>
</body>
</html>
1、增加办法:
点击Button1按钮往Panel中增加一个Button按钮:
protectedvoidButton1_Click(objectsender,EventArgse)
{
Buttonli=newButton();
li.ID="abc";
li.Text="按钮";
this.Panel1.Controls.Add(li);
}
这时候候我们发明,当我们第二次点击Button1时,后面增加的Button消散了。这时候我们就能够想到,可使用缓存将用户的每次点击所应当增加的按钮保留起来,因而增加了btnList属性:publicList<Button>btnList
{
get
{
if(Session["btnList"]==null)
{
Session["btnList"]=newList<Button>();
}
returnSession["btnList"]asList<Button>;
}
}
同时增加将btnList属性中一切Button增加到Panel中的办法:privatevoidData_DataBind()
{
foreach(ButtonliinbtnList)
{
this.Panel1.Controls.Add(li);
}
}
修正Button1的Click事务以下:protectedvoidButton1_Click(objectsender,EventArgse)
{
Buttonli=newButton();
li.ID="abc";
li.Text="按钮";
btnList.Add(li);
Data_DataBind();
}
如许我们就能够延续往Panl中增加按钮了。
2、删除办法:
由于我们利用了btnList属性来缓存用户的Button汇合,以是删除时,我们只需操纵btnList属性便可,以下:
///<summary>
///重新入手下手移除
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton2_Click(objectsender,EventArgse)
{
if(btnList.Count>0)
{
btnList.RemoveAt(0);
}
Data_DataBind();
}
///<summary>
///从尾入手下手删除
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton3_Click(objectsender,EventArgse)
{
if(btnList.Count>0)
{
btnList.RemoveAt(btnList.Count-1);
}
Data_DataBind();
}
///<summary>
///删除指定ID的按钮
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton4_Click(objectsender,EventArgse)
{
stringid=this.TextBox1.Text.Trim();
if(!string.IsNullOrEmpty(id))
{
Buttonbtn=btnList.Find(delegate(Buttonbtn_1){returnbtn_1.ID==id;});
if(btn!=null)
{
btnList.Remove(btn);
}
}
Data_DataBind();
}
.cs文件中的全体代码以下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web.UI.WebControls;
namespaceWebApplication1
{
publicpartialclassWebForm1:System.Web.UI.Page
{
publicList<Button>btnList
{
get
{
if(Session["btnList"]==null)
{
Session["btnList"]=newList<Button>();
}
returnSession["btnList"]asList<Button>;
}
}
protectedvoidButton1_Click(objectsender,EventArgse)
{
Buttonli=newButton();
li.ID="abc";
li.Text="按钮";
btnList.Add(li);
Data_DataBind();
}
///<summary>
///重新入手下手移除
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton2_Click(objectsender,EventArgse)
{
if(btnList.Count>0)
{
btnList.RemoveAt(0);
}
Data_DataBind();
}
///<summary>
///从尾入手下手删除
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton3_Click(objectsender,EventArgse)
{
if(btnList.Count>0)
{
btnList.RemoveAt(btnList.Count-1);
}
Data_DataBind();
}
///<summary>
///删除指定ID的按钮
///</summary>
///<paramname="sender"></param>
///<paramname="e"></param>
protectedvoidButton4_Click(objectsender,EventArgse)
{
stringid=this.TextBox1.Text.Trim();
if(!string.IsNullOrEmpty(id))
{
Buttonbtn=btnList.Find(delegate(Buttonbtn_1){returnbtn_1.ID==id;});
if(btn!=null)
{
btnList.Remove(btn);
}
}
Data_DataBind();
}
privatevoidData_DataBind()
{
foreach(ButtonliinbtnList)
{
this.Panel1.Controls.Add(li);
}
}
}
}
那做企业软件是不是最好用J2EE? |
|