关于Web中自动插入ImageButton按钮控件的问题 Button bt = new Button();bt.Text = "12345678990";bt.Visible=true;this.Controls.Add(bt); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 是这样的:switch(i){case 0:imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";break;case 1:imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton1' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";break;case 2:imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton2' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";break;case 3:imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton3' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";break;}innerHtml +="<table><tr>"+"<td width='115'align='middle'height='12'><font size='2'>"+userid+" </font></td>"+"<td width='105'align='middle'height='12'><font size='2'>"+username+" </font></td>"+"<td width='80'align='middle'height='12'><font size='2'>"+sex+" </font></td>"+"<td width='130'align='middle'height='12'><font size='2'>"+knowledge+" </font></td>"+"<td width='110'align='middle'height='12'>"+imagebuttoninnerhtml+"</td>"+"<td width='79'align='middle'height='12'><a href='"+questurl+"'target='_self'><img src='../image/isbest.gif'align='middle'border='0'></a></td>"+ "</tr>"</table>;datahtml.InnerHtml += userdatahtm;结果imagebutton没有显示, 晕~Web控键不能用html代码来添加的你能添加的只是标准的HTML代码段添加服务器段控键只能用Page.Controls.Add(Control) LinkButton btn=new LinkButton();this.Controls[1].Controls.Add(btn);btn.Text="123"; momoguagua(呱呱) 说的对,楼主添加的根本不是控件,而是一段普通的文本,动态添加控件应该象 CodingPCPiG(会Coding的猪)说的方法。--------------------------------AspNetPager 免费分页控件4.2版发布,同时发布最新源代码,欢迎下载:http://www.webdiyer.com 我要在一个表格中插入一个imagebutton按钮,并处理该按钮的onclick,共有22个按钮,每个按钮处理程序不一样,该怎么写 每个按钮都加一个this.Button1.Click += new System.EventHandler(this.Button1_Click);private void Button1_Click(object sender, System.EventArgs e){ ... ...} 你干吗不建22个按钮,用的时候Visiable=true,不用的时候Visiable=False 就你CSDN后面的“管理”按钮一样,我要取出该记录的ID号,然后在数据库中删除 你要是用DataGrid的话,他有专门的按钮列,有个命令"Delete"你可以在private void DG_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)里对这个Delete命令所对应的按钮进行你的操作 不是用的DataGrid,是用的表格我照楼上说的做了,又出现了一点问题:code:ImageButton0 = new ImageButton();ImageButton0.AlternateText = userid;ImageButton0.ToolTip = tableType;ImageButton0.Click +=new ImageClickEventHandler(ImageButton_Click);Page.Controls.Add(ImageButton0);imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";innerHtml +="<table><tr>"+"<td width='115'align='middle'height='12'><font size='2'>"+userid+" </font></td>"+"<td width='105'align='middle'height='12'><font size='2'>"+username+" </font></td>"+"<td width='80'align='middle'height='12'><font size='2'>"+sex+" </font></td>"+"<td width='130'align='middle'height='12'><font size='2'>"+knowledge+" </font></td>"+"<td width='110'align='middle'height='12'>"+imagebuttoninnerhtml+"</td>"+"<td width='79'align='middle'height='12'><a href='"+questurl+"'target='_self'><img src='../image/isbest.gif'align='middle'border='0'></a></td>"+"</tr></table>";datahtml.InnerHtml += userdatahtm;出现的错误:类型“ImageButton”的控件“_ctl1”必须放在具有 runat=server 的窗体标记内。 我查来查去,我的from 、div 都是runat="server"不知道是怎么回事,老大帮忙查一下代码 这个我也不太清楚,没有用过不过这句imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";就不要要啦 momoguagua(呱呱)兄,出来了,改了一个字符:queryform.Controls.Add(ImageButton0);queryform为form,只是位置不正确,再帮忙想想看! 你可以给你的表格的<td>或者<tr>元素设定为runat="server" id="td1"然后对这个<td>或者<tr>元素进行操作,td1.Controls.Add(Control)你这个控键就被添加在这个表格的<td>的后面了或者如果你的窗口布局是MS_POSITIONING="GridLayout"这种类型的,看你的<body>属性你可以设定这个button的style="Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 144px"属性来定位这个Button的位置不过这个方法我没用过,<td>的那个方法我用过可以实现,不过就是不太灵活 LEFT是这个控件横坐标,TOP是纵坐标,原点在屏幕的左上角,Z-INDEX是这个控件的三维的坐标,标记这个控件是否在其他的控件的上面或者下面(对于DropDownList好像无效,所有控件都在DropDownList的下面) 上面的代码看一下,table是自动生成的 改这样:"<td width='110'align='middle'height='12' runat="server" id='td1'>"+imagebuttoninnerhtml+"</td>"在cs文件里面类的下面加:protected System.Web.UI.HtmlControls.HtmlTableCell td1;td1.Controls.Add(ImageButton0)你看看可以不可以 那个id="td1"你改双引号看一下 同志们,我写出来了:datatable = new Table();datatable.Font.Name = "宋体";datatable.Font.Size = FontUnit.XSmall;datatable.Width = 619;datatable.BackColor = ColorTranslator.FromHtml("#f0f0f0");datatable.BorderStyle = BorderStyle.Solid;datatable.BorderWidth = 1;datatable.GridLines = GridLines.Both;datatable.CellPadding = 0;datatable.CellSpacing = 0;for( int i = 0; i < ds.Tables[0].Rows.Count;i++){datatable.Rows.Add(InsertUserdata(i));}ds.Clear();datahtml.Controls.Add(datatable);private TableRow InsertUserdata(int i){TableRow tablerow= new TableRow();TableCell tablecall1= new TableCell();TableCell tablecall2= new TableCell();TableCell tablecall3= new TableCell();TableCell tablecall4= new TableCell();TableCell tablecall5= new TableCell();TableCell tablecall6= new TableCell();string imagebuttoninnerhtml = "";string innerHtml = "";string questurl = "";string tableType = ds.Tables[0].Rows[i]["tabletype"].ToString();string userid = ds.Tables[0].Rows[i]["drnc"].ToString();string username = ds.Tables[0].Rows[i]["xinm"].ToString();string sex = ds.Tables[0].Rows[i]["xinb"].ToString();string knowledge = ds.Tables[0].Rows[i]["whcd"].ToString();if(tableType == "mjf")questurl = "persondataadmin.aspx?userid="+userid;else if(tableType == "xz")questurl = "administerdataadmin.aspx?userid="+userid;switch(i){case 0:ImageButton0 = new ImageButton();ImageButton0.ID = "ImageButton0";ImageButton0.AlternateText = userid;ImageButton0.ToolTip = tableType;ImageButton0.ImageUrl = "../image/m_delete.gif";ImageButton0.Click +=new ImageClickEventHandler(ImageButton_Click);imageButton = ImageButton0;userdatalink = new HyperLink();userdatalink.NavigateUrl = questurl;userdatalink.ImageUrl = "../image/isbest.gif";break;case 1:ImageButton1 = new ImageButton();ImageButton1.ID = "ImageButton1";ImageButton1.AlternateText = userid;ImageButton1.ToolTip = tableType;ImageButton1.ImageUrl = "../image/m_delete.gif";ImageButton1.Click +=new ImageClickEventHandler(ImageButton_Click);imageButton = ImageButton1;userdatalink = new HyperLink();userdatalink.NavigateUrl = questurl;break;case 2:ImageButton2 = new ImageButton();ImageButton2.ID = "ImageButton2";ImageButton2.AlternateText = userid;ImageButton2.ToolTip = tableType;ImageButton2.ImageUrl = "../image/m_delete.gif";ImageButton2.Click +=new ImageClickEventHandler(ImageButton_Click);imageButton = ImageButton2;userdatalink = new HyperLink();userdatalink.NavigateUrl = questurl;break;}tablecall1.Text = userid;tablecall1.Width = 115;tablecall1.Height = 12;tablecall2.Text = username;tablecall2.Width = 105;tablecall2.Height = 12;tablecall3.Text = sex;tablecall3.Width = 80;tablecall3.Height = 12;tablecall4.Text = knowledge;tablecall4.Width = 130;tablecall4.Height = 12;tablecall5.Controls.Add(imageButton);tablecall5.Width = 110;tablecall5.Height = 12;tablecall6.Controls.Add(userdatalink);tablecall6.Width = 130;tablecall6.Height = 12;tablerow.VerticalAlign = VerticalAlign.Middle;tablerow.HorizontalAlign = HorizontalAlign.Center;tablerow.Cells.Add( tablecall1);tablerow.Cells.Add( tablecall2);tablerow.Cells.Add( tablecall3);tablerow.Cells.Add( tablecall4);tablerow.Cells.Add( tablecall5);tablerow.Cells.Add( tablecall6);return tablerow;}原因很简单,用html的table不行,这次我用的是C#的Table控件谢谢大家的参于,现在开始散分: 不知道为什么,我是在页面上直接定义的table控件就可以用 .NET + sql 2005 编写的全文检索 遇到很多困难 ! 表格排序问题 求赐教 求一个导出excel示例代码 自己写了个DbHelper类 虚拟目录中web.config问题 求药库、药房管理资料! 解析一下以下的存储过程! DropDownList 怎样设置默认的选项?? mvc中ef的lamda表达式如何解析变量 问问asp.net mvc的这个标签是什么意思? 如何将查询的结果集填充进DataGrid? !!!简单问题传参数 !!!
switch(i)
{
case 0:
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
break;
case 1:
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton1' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
break;
case 2:
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton2' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
break;
case 3:
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton3' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
break;
}
innerHtml +="<table><tr>"+
"<td width='115'align='middle'height='12'><font size='2'>"+userid+" </font></td>"+
"<td width='105'align='middle'height='12'><font size='2'>"+username+" </font></td>"+
"<td width='80'align='middle'height='12'><font size='2'>"+sex+" </font></td>"+
"<td width='130'align='middle'height='12'><font size='2'>"+knowledge+" </font></td>"+
"<td width='110'align='middle'height='12'>"+imagebuttoninnerhtml+"</td>"+
"<td width='79'align='middle'height='12'><a href='"+questurl+"'target='_self'><img src='../image/isbest.gif'align='middle'border='0'></a></td>"+
"</tr>"</table>;
datahtml.InnerHtml += userdatahtm;结果imagebutton没有显示,
你能添加的只是标准的HTML代码段
添加服务器段控键只能用Page.Controls.Add(Control)
this.Controls[1].Controls.Add(btn);
btn.Text="123";
AspNetPager 免费分页控件4.2版发布,同时发布最新源代码,欢迎下载:http://www.webdiyer.com
private void Button1_Click(object sender, System.EventArgs e)
{
... ...
}
private void DG_DeleteCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)里
对这个Delete命令所对应的按钮进行你的操作
我照楼上说的做了,又出现了一点问题:
code:
ImageButton0 = new ImageButton();
ImageButton0.AlternateText = userid;
ImageButton0.ToolTip = tableType;
ImageButton0.Click +=new ImageClickEventHandler(ImageButton_Click);
Page.Controls.Add(ImageButton0);
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
innerHtml +="<table><tr>"+
"<td width='115'align='middle'height='12'><font size='2'>"+userid+" </font></td>"+
"<td width='105'align='middle'height='12'><font size='2'>"+username+" </font></td>"+
"<td width='80'align='middle'height='12'><font size='2'>"+sex+" </font></td>"+
"<td width='130'align='middle'height='12'><font size='2'>"+knowledge+" </font></td>"+
"<td width='110'align='middle'height='12'>"+imagebuttoninnerhtml+"</td>"+
"<td width='79'align='middle'height='12'><a href='"+questurl+"'target='_self'><img src='../image/isbest.gif'align='middle'border='0'></a></td>"+
"</tr></table>";
datahtml.InnerHtml += userdatahtm;出现的错误:
类型“ImageButton”的控件“_ctl1”必须放在具有 runat=server 的窗体标记内。 我查来查去,我的from 、div 都是runat="server"
不知道是怎么回事,老大帮忙查一下代码
不过这句
imagebuttoninnerhtml = "<asp:ImageButton id='ImageButton0' runat='server' ImageUrl='../image/m_delete.gif' AlternateText='"+userid+"' ToolTip='"+tableType+"'></asp:ImageButton>";
就不要要啦
queryform为form,只是位置不正确,再帮忙想想看!
然后对这个<td>或者<tr>元素进行操作,td1.Controls.Add(Control)你这个控键就被添加在这个表格的<td>的后面了
或者
如果你的窗口布局是MS_POSITIONING="GridLayout"这种类型的,看你的<body>属性
你可以设定这个button的style="Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 144px"属性来定位这个Button的位置
不过这个方法我没用过,<td>的那个方法我用过可以实现,不过就是不太灵活
"<td width='110'align='middle'height='12' runat="server" id='td1'>"+imagebuttoninnerhtml+"</td>"
在cs文件里面类的下面加:protected System.Web.UI.HtmlControls.HtmlTableCell td1;
td1.Controls.Add(ImageButton0)
你看看可以不可以
datatable = new Table();
datatable.Font.Name = "宋体";
datatable.Font.Size = FontUnit.XSmall;
datatable.Width = 619;
datatable.BackColor = ColorTranslator.FromHtml("#f0f0f0");
datatable.BorderStyle = BorderStyle.Solid;
datatable.BorderWidth = 1;
datatable.GridLines = GridLines.Both;
datatable.CellPadding = 0;
datatable.CellSpacing = 0;
for( int i = 0; i < ds.Tables[0].Rows.Count;i++)
{
datatable.Rows.Add(InsertUserdata(i));
}
ds.Clear();
datahtml.Controls.Add(datatable);private TableRow InsertUserdata(int i)
{
TableRow tablerow= new TableRow();
TableCell tablecall1= new TableCell();
TableCell tablecall2= new TableCell();
TableCell tablecall3= new TableCell();
TableCell tablecall4= new TableCell();
TableCell tablecall5= new TableCell();
TableCell tablecall6= new TableCell();
string imagebuttoninnerhtml = "";
string innerHtml = "";
string questurl = "";
string tableType = ds.Tables[0].Rows[i]["tabletype"].ToString();
string userid = ds.Tables[0].Rows[i]["drnc"].ToString();
string username = ds.Tables[0].Rows[i]["xinm"].ToString();
string sex = ds.Tables[0].Rows[i]["xinb"].ToString();
string knowledge = ds.Tables[0].Rows[i]["whcd"].ToString();
if(tableType == "mjf")
questurl = "persondataadmin.aspx?userid="+userid;
else if(tableType == "xz")
questurl = "administerdataadmin.aspx?userid="+userid;
switch(i)
{
case 0:
ImageButton0 = new ImageButton();
ImageButton0.ID = "ImageButton0";
ImageButton0.AlternateText = userid;
ImageButton0.ToolTip = tableType;
ImageButton0.ImageUrl = "../image/m_delete.gif";
ImageButton0.Click +=new ImageClickEventHandler(ImageButton_Click);
imageButton = ImageButton0;
userdatalink = new HyperLink();
userdatalink.NavigateUrl = questurl;
userdatalink.ImageUrl = "../image/isbest.gif";
break;
case 1:
ImageButton1 = new ImageButton();
ImageButton1.ID = "ImageButton1";
ImageButton1.AlternateText = userid;
ImageButton1.ToolTip = tableType;
ImageButton1.ImageUrl = "../image/m_delete.gif";
ImageButton1.Click +=new ImageClickEventHandler(ImageButton_Click);
imageButton = ImageButton1;
userdatalink = new HyperLink();
userdatalink.NavigateUrl = questurl;
break;
case 2:
ImageButton2 = new ImageButton();
ImageButton2.ID = "ImageButton2";
ImageButton2.AlternateText = userid;
ImageButton2.ToolTip = tableType;
ImageButton2.ImageUrl = "../image/m_delete.gif";
ImageButton2.Click +=new ImageClickEventHandler(ImageButton_Click);
imageButton = ImageButton2;
userdatalink = new HyperLink();
userdatalink.NavigateUrl = questurl;
break;
}
tablecall1.Text = userid;
tablecall1.Width = 115;
tablecall1.Height = 12;
tablecall2.Text = username;
tablecall2.Width = 105;
tablecall2.Height = 12;
tablecall3.Text = sex;
tablecall3.Width = 80;
tablecall3.Height = 12;
tablecall4.Text = knowledge;
tablecall4.Width = 130;
tablecall4.Height = 12;
tablecall5.Controls.Add(imageButton);
tablecall5.Width = 110;
tablecall5.Height = 12;
tablecall6.Controls.Add(userdatalink);
tablecall6.Width = 130;
tablecall6.Height = 12;
tablerow.VerticalAlign = VerticalAlign.Middle;
tablerow.HorizontalAlign = HorizontalAlign.Center;
tablerow.Cells.Add( tablecall1);
tablerow.Cells.Add( tablecall2);
tablerow.Cells.Add( tablecall3);
tablerow.Cells.Add( tablecall4);
tablerow.Cells.Add( tablecall5);
tablerow.Cells.Add( tablecall6);
return tablerow;
}原因很简单,用html的table不行,这次我用的是C#的Table控件谢谢大家的参于,现在开始散分: