仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 615|回复: 7
打印 上一主题 下一主题

[学习教程] 来一篇关于NET的Asp.Net静态增加与删除控件

[复制链接]
深爱那片海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 14:23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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?
海妖 该用户已被删除
沙发
发表于 2015-1-18 13:51:02 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
冷月葬花魂 该用户已被删除
板凳
发表于 2015-1-25 15:47:28 | 只看该作者
ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。
admin 该用户已被删除
地板
发表于 2015-2-3 05:48:59 | 只看该作者
在asp.net虚拟主机的服务提供商中,目前首推的是CNNIC的其中一家域名注册机构---时代互联(www.now.net.cn),他们早在2001年微软刚推出Asp.net时就推出了对应的Asp.net虚拟主机了,经笔者的使用测试,他提供的Asp.net性能非常的稳定,版本也会定期的更新,目前他的
柔情似水 该用户已被删除
5#
发表于 2015-2-8 20:09:34 | 只看该作者
是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。
山那边是海 该用户已被删除
6#
发表于 2015-3-8 11:56:04 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
飘飘悠悠 该用户已被删除
7#
发表于 2015-3-15 23:01:32 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
透明 该用户已被删除
8#
发表于 2015-3-22 17:56:58 | 只看该作者
能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-10 06:18

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表