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

2024-11-20 00:12:21
推荐回答(5个)
回答1:

实现这个功能的方法很多,如果用javascript的话,可以这样:
在页面的这个标签里添加一个

,div中将label控件包含进去;在Button1的客户端的click中写个函数,复制页面元素,主要是应用javascript的cloneNode方法,可以查找网上资料,这个方法不需要刷新页面,速度快。

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

代码如下,只是示例:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default6.aspx.cs" Inherits="Default6" %>



无标题页







上传附件:[+]
[-]






附件:




回答2:

比较简单的
只是每一次回送就多添加一个

回答3:

在load里面加条件判断
if(!ispostback)
{
//添加label
}

回答4:

刷新后还有?
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;
}

回答5:

实现这个功能的方法很多,如果用javascript的话,可以这样:
在页面的这个标签里添加一个

,div中将label控件包含进去;在Button1的客户端的click中写个函数,复制页面元素,主要是应用javascript的cloneNode方法,可以查找网上资料,这个方法不需要刷新页面,速度快。
方法二:
你这样做未必就没有添加label,你可以在点击一次按钮后,在页面上看它的html代码,调试一下错误所在,看页面上是否会有两个label标签。
代码如下,只是示例:
<%@
Page
Language="C#"
AutoEventWireup="true"
CodeFile="Default6.aspx.cs"
Inherits="Default6"
%>
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
xmlns="http://www.w3.org/1999/xhtml"
>
runat="server">
无标题页
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);
}
}



id="form1"
runat="server">


style="height:
22px">
附件:unselectable="on"
ID="filePost"
runat="server"
/>


上传附件:href="###"
onclick="insertMessage()">[+]
href="###"
onclick="moveMessage()">
[-]
id="ass">