点击按钮在panel中动态添加label控件

asp.netc#网站开发页面中有一个Panel1,一个Button1,我想实现每点击一次Button1就向Panel1中添加一个label,实现label累加的效果,但... asp.net c#网站开发页面中有一个Panel1,一个Button1,我想实现每点击一次Button1就向Panel1中添加一个label,实现label累加的效果,但现在的效果是我点击了button页面就刷新后始终只有一个label显示在Panel1中,我用的是
protected void Button1_Click(object sender, EventArgs e)
{
Label label = new Label();
label.Text=Convert.ToInt32(Session["num"])++;
this.Panel1.Controls.Add(label);
}
我想是页面刷新后重新加载了,前一次点击添加的label就不存在了,不知道怎么实现我想要的效果,求大哥们帮忙
展开
 我来答
百度网友e0346d636
2009-01-07 · TA获得超过391个赞
知道小有建树答主
回答量:85
采纳率:0%
帮助的人:0
展开全部
实现这个功能的方法很多,如果用javascript的话,可以这样:
在页面的<asp:panel></asp:panel>这个标签里添加一个<Div></Div>,div中将label控件包含进去;在Button1的客户端的click中写个函数,复制页面元素,主要是应用javascript的cloneNode方法,可以查找网上资料,这个方法不需要刷新页面,速度快。

方法二:
你这样做未必就没有添加label,你可以在点击一次按钮后,在页面上看它的html代码,调试一下错误所在,看页面上是否会有两个label标签。

代码如下,只是示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function insertMessage() {
if(document.getElementsByTagName("tbody").length<16) {
var oNewNode = document.getElementById("ass").firstChild.cloneNode(true);
document.getElementById("ass").appendChild(oNewNode);
} else {
alert("最多只能同时上传10个附件!");
return false;
}
}
function moveMessage() {
if(document.getElementsByTagName("tbody").length>3){
var oOldNode = document.getElementById("ass").lastChild;
oOldNode.parentNode.removeChild(oOldNode);
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table><tr><td>
上传附件:<a href="###" onclick="insertMessage()">[+]</a> <a href="###" onclick="moveMessage()">
[-]</a>
<table id="ass">
<tr>
<td style="height: 22px">
附件:<asp:FileUpload unselectable="on" ID="filePost" runat="server" /></td>
</tr>
</table></td></tr>
</table>
</div>
</form>
</body>
</html>
植羲席嘉悦
2019-08-09 · TA获得超过3899个赞
知道大有可为答主
回答量:3109
采纳率:34%
帮助的人:404万
展开全部
比较简单的
只是每一次回送就多添加一个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cyou0
2009-01-07 · TA获得超过1840个赞
知道小有建树答主
回答量:1614
采纳率:0%
帮助的人:901万
展开全部
在load里面加条件判断
if(!ispostback)
{
//添加label
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sq_zhuyi
2009-01-07 · TA获得超过680个赞
知道小有建树答主
回答量:1127
采纳率:0%
帮助的人:1007万
展开全部
刷新后还有?
page_load
{
if(!IsPostBack && Session["panel"]!=null)
Panel1 = (Panel)Session["panel"];
}
protected void Button1_Click(object sender, EventArgs e)
{
Label label = new Label();
label.Text=Convert.ToInt32(Session["num"])++;
this.Panel1.Controls.Add(label);
Session["panel"] = Panel1;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
扈琇仁冬萱
2019-01-23 · TA获得超过3838个赞
知道大有可为答主
回答量:3158
采纳率:24%
帮助的人:230万
展开全部
实现这个功能的方法很多,如果用javascript的话,可以这样:
在页面的<asp:panel></asp:panel>这个标签里添加一个<Div></Div>,div中将label控件包含进去;在Button1的客户端的click中写个函数,复制页面元素,主要是应用javascript的cloneNode方法,可以查找网上资料,这个方法不需要刷新页面,速度快。
方法二:
你这样做未必就没有添加label,你可以在点击一次按钮后,在页面上看它的html代码,调试一下错误所在,看页面上是否会有两个label标签。
代码如下,只是示例:
<%@
Page
Language="C#"
AutoEventWireup="true"
CodeFile="Default6.aspx.cs"
Inherits="Default6"
%>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
>
<head
runat="server">
<title>无标题页</title>
<script
type="text/javascript">
function
insertMessage()
{
if(document.getElementsByTagName("tbody").length<16)
{
var
oNewNode
=
document.getElementById("ass").firstChild.cloneNode(true);
document.getElementById("ass").appendChild(oNewNode);
}
else
{
alert("最多只能同时上传10个附件!");
return
false;
}
}
function
moveMessage()
{
if(document.getElementsByTagName("tbody").length>3){
var
oOldNode
=
document.getElementById("ass").lastChild;
oOldNode.parentNode.removeChild(oOldNode);
}
}
</script>
</head>
<body>
<form
id="form1"
runat="server">
<div>
<table><tr><td>
上传附件:<a
href="###"
onclick="insertMessage()">[+]</a>
<a
href="###"
onclick="moveMessage()">
[-]</a>
<table
id="ass">
<tr>
<td
style="height:
22px">
附件:<asp:FileUpload
unselectable="on"
ID="filePost"
runat="server"
/></td>
</tr>
</table></td></tr>
</table>
</div>
</form>
</body>
</html>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式