我希望实现这样的功能:
页面上有一个按钮,按一次在下面的表格中增加一行
每行中包括一个按钮和一个文本框,当单击那行中的按钮时就把那行从页面上删去请问该怎么实现?
请讲得详细点,我是初学者
最好有类似的例子参考,谢谢。
页面上有一个按钮,按一次在下面的表格中增加一行
每行中包括一个按钮和一个文本框,当单击那行中的按钮时就把那行从页面上删去请问该怎么实现?
请讲得详细点,我是初学者
最好有类似的例子参考,谢谢。
解决方案 »
- 问一个关于ASPxGridView的问题
- 如何 部署 webapplication 到别的电脑上
- 请问谁申请过http://www.vwdhosting.net/的免费空间 ,有问题请教
- JS关于中止setInterval()的方法,为什么会进入死循环呢?
- asp.net配制错误,大家帮忙啊!!!!!
- 求助 关于新闻首页的设计
- 調用存儲過程問題!!!!
- 动态生成控件问题??
- 怎么实现窗体验证啊?
- 请问:机子上装了2000AS后,就可调试ASP.NET了吗?谁能给我一个最简单的例子?
- Response.Write("<script language=javascript>alert(strSql)</script>")在strSql中有单引号,结果导致弹不出该怎么办?
- 急求一个正则表达式
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<script>
function AddAttachments()
{
document.getElementById('attach').innerText = "继续添加文件";
tb = document.getElementById('attAchments');
newRow = tb.insertRow();
newRow.insertCell().innerHTML = "<input name='File' size='50' type='file'> <input type=button value='删除' onclick='delFile(this.parentElement.parentElement.rowIndex)'>";
}
function delFile(index)
{
document.getElementById('attAchments').deleteRow(index);
tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加文件":document.getElementById('attach').innerText = "添加文件";
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<TABLE height="603" cellSpacing="0" cellPadding="0" width="171" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="171" height="603">
<form id="form1" method="post" runat="server" enctype="multipart/form-data">
<TABLE height="154" cellSpacing="0" cellPadding="0" width="591" border="0" ms_2d_layout="TRUE">
<TR vAlign="top">
<TD width="10" height="15"></TD>
<TD width="16"></TD>
<TD width="565"></TD>
</TR>
<TR vAlign="top">
<TD height="5"></TD>
<TD colSpan="2">
<div><table id="attAchments">
</table>
</div>
</TD>
</TR>
<TR vAlign="top">
<TD colSpan="2" height="14"></TD>
<TD>
<IMG src="icoAddFl.gif">
<A id="attach" title="如果您要发送多个文件,您只需多次点击“继续添加文件”即可, 要注意文件总量不能超过发送限制的大小。" onclick="AddAttachments();"
href="javascript:;" name="attach">添加文件</A></TD>
</TR>
<TR vAlign="top">
<TD height="19"></TD>
<TD colSpan="2">
<br>
</TD>
</TR>
<TR vAlign="top">
<TD height="19"></TD>
<TD colSpan="2">
<br>
</TD>
</TR>
<TR vAlign="top">
<TD height="19"></TD>
<TD colSpan="2">
<br>
</TD>
</TR>
<TR vAlign="top">
<TD height="19"></TD>
<TD colSpan="2">
<br>
</TD>
</TR>
<TR vAlign="top">
<TD height="19"></TD>
<TD colSpan="2">
<br>
</TD>
</TR>
<TR vAlign="top">
<TD height="25"></TD>
<TD colSpan="2">
<asp:Button id="btnSend" runat="server" Text=" 上传 "></asp:Button></TD>
</TR>
<br>
</TABLE>
</form>
</TD>
</TR>
</TABLE>
</body>
</HTML>
其实动态添加控件,难的是必须在page_load里添加一些代码,确保新生成的控件刷新时不会消失。使用原理是viewstate。
我也开始帖代码了,^_^:好用的代码。
aspx页面:
<%@ Page language="c#" Codebehind="ActiveAddControl.aspx.cs" AutoEventWireup="false" Inherits="AddControls.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<asp:Button id="Addbtn" style="Z-INDEX: 101; LEFT: 344px; POSITION: absolute; TOP: 256px" runat="server" Text="Addcontrol"></asp:Button>
<asp:Button id="Button1" style="Z-INDEX: 102; LEFT: 232px; POSITION: absolute; TOP: 256px" runat="server" Text="刷新页面"></asp:Button>
<asp:PlaceHolder id="PlaceHolder1" runat="server"></asp:PlaceHolder>
</form>
</body>
</HTML>
cs页面:
private void Page_Load(object sender, System.EventArgs e)
{
if (ViewState["AddControl"]!= null)
{
DropDownList DropDown = new DropDownList();
PlaceHolder1.Controls.Add(DropDown);
DropDown.ID="ControlID";
}
}
private void Addbtn_Click(object sender, System.EventArgs e)
{
DropDownList DropDown = new DropDownList();
PlaceHolder1.Controls.Clear();
PlaceHolder1.Controls.Add(DropDown);
DropDown.ID="ControlID";
DropDown.Width=200;
DropDown.Items.Add(new ListItem("北京","0"));
DropDown.Items.Add(new ListItem("上海","1"));
DropDown.Items.Add(new ListItem("河北","2"));
ViewState["AddControl"] = true;
}
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 未能加载类型“AddControls.WebForm1”。请问应该怎么解决呢?
谢谢
<%@ Page language="c#" Codebehind="ActiveAddControl.aspx.cs" AutoEventWireup="false" Inherits="AddControls.WebForm1" %>
AddControls是命名空间,后台cs类名是WebForm1。后台代码修改你的命名空间和类名即可。
刚才为了省事。
后台cs全部源代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;namespace AddControls
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.PlaceHolder PlaceHolder1;
protected System.Web.UI.WebControls.Button Addbtn;
private void Page_Load(object sender, System.EventArgs e)
{
if (ViewState["AddControl"]!= null)
{
DropDownList DropDown = new DropDownList();
PlaceHolder1.Controls.Add(DropDown);
DropDown.ID="ControlID";
}
} #region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Addbtn.Click += new System.EventHandler(this.Addbtn_Click);
this.Load += new System.EventHandler(this.Page_Load); }
#endregion private void Addbtn_Click(object sender, System.EventArgs e)
{
DropDownList DropDown = new DropDownList();
PlaceHolder1.Controls.Clear();
PlaceHolder1.Controls.Add(DropDown);
DropDown.ID="ControlID";
DropDown.Width=200;
DropDown.Items.Add(new ListItem("北京","0"));
DropDown.Items.Add(new ListItem("上海","1"));
DropDown.Items.Add(new ListItem("河北","2"));
ViewState["AddControl"] = true;
}
}
}
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。 分析器错误信息: 未能加载类型“AddControls.WebForm1”。我菜得很,请再帮帮忙好吗?
function In_Row()
{
var i = DataGrid1.getElementsByTagName('tr');
var newRow = DataGrid1.insertRow(i.length);
for(c=0;c<DataGrid1.rows[0].cells.length;c++)
{
if(c==2)
{newCell.innerHTML = '<input type="button" value="aaadf" runat = server>'}
else
{
newCell = newRow.insertCell(c);
newCell.innerHTML = '<input type="text" value="sss" runat = server>';
}
}
}