点button1创建linkbutton的,为什么连接失效,有多个这样的linkbutton要创建,有好的办法吗

光原 2006-11-02 04:27:56
private void lb_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
Response.Write("<script>alert('"+e.CommandName+"');</script>");
}

private void Button1_Click(object sender, System.EventArgs e)
{
HtmlTableRow row = new HtmlTableRow();
HtmlTableCell c = new HtmlTableCell();
c.Attributes.Add("width","40");
System.Web.UI.WebControls.LinkButton lb = new System.Web.UI.WebControls.LinkButton();
lb.ID = "lblxxx";
lb.Text = "a";
lb.CommandName = "a";
lb.Command += new CommandEventHandler(lb_Command);
c.Controls.Add(lb);
row.Cells.Add(c);
Table1.Rows.Add(row);
}
...全文
166 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
光原 2006-11-03
  • 打赏
  • 举报
回复
TO:qltouming(缘木渔人) 非常感谢!
现在的问题是:所有的linkbutton都来自数据库,不能确定具体的数量。
我的界面是这样设计的:




主页是这样设计的分上中下三个部分,中间分左右两部分,全部使用table做的,
现在要求在右边的table里进行内容的动态增加和删除页面内容,

比如点主页上部分的菜单,右边的内容先全部清除,重新动态增加页面内容,内容中包括多个linkbutton,当点击其中一个linkbutton时,

再把右边的内容先全部清除,重新动态增加页面内容,内容中包括多个linkbutton,当点击其中一个linkbutton时,

再把右边的内容先全部清除,这时候生成一个文本给用户,有点像下载站点的样子,但是所有的东西
所有的都要求在一个页面操作

包装成控件不知道如何做,控件也同样要new出来,同样存在这个通过连接来加载控件的问题?
qltouming 2006-11-03
  • 打赏
  • 举报
回复
如果我这么写,相信你会更好理解的
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
if (this.Table1.Rows.Count <= 1)
{
AddControl();
}
}
}
qltouming 2006-11-03
  • 打赏
  • 举报
回复
我有在Button1的点击中添加按钮.
但是当按钮点击触发页面刷新的时候,你新添的按钮会因为再次PageLoad而不存在的,因此有必要在Page_Load里根据条件进行判断,以重新加载按钮.

如果你这种需求在多处都有,建议你最好包装成控件
如果只是此处有这个需要,并且要添加多个,那么我的做法完全能满足,我工作中有这样的需求,我就是这么做的
如果可以,建议添加按钮的操作不要由按钮来触发,让用户在一个界面中先行配置后再予以显示,这个做法更安全可靠且可维护.
如果有必要非这么实现的话,注意在添加多个按钮时,如要保证界面整齐美观,要注意表格的嵌套,只简单的在Table中Add Row是不行的.
光原 2006-11-03
  • 打赏
  • 举报
回复
ding
光原 2006-11-03
  • 打赏
  • 举报
回复
ding
光原 2006-11-03
  • 打赏
  • 举报
回复
ding
光原 2006-11-02
  • 打赏
  • 举报
回复
TO:qltouming(缘木渔人)
因为你的添加事件是在page_load中,如果不在page_load中你试试看好使不?
我的有多极创建多个linkbutton,不能在page_load中做
看看各位有什么好的办法实现
qltouming 2006-11-02
  • 打赏
  • 举报
回复
对照下你的代码吧,很可能是按钮引发页面刷新时没有重新添加按钮或挂接上点击链接事件
qltouming 2006-11-02
  • 打赏
  • 举报
回复
我这么写怎么好使
--------------------------
//aspx页
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!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>
</head>
<body>
<form id="form1" runat="server">
<table id = "Table1" runat="server">
<tr>
<td>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click"/>
</td>
</tr>
</table>
</form>
</body>
</html>


//cs页
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (this.Table1.Rows.Count <= 1)
{
AddControl();
}
}

private void AddControl()
{
HtmlTable _table = new HtmlTable();
HtmlTableRow _row = new HtmlTableRow();
HtmlTableCell _cell = new HtmlTableCell();
_cell.Controls.Add(_table);
_row.Cells.Add(_cell);

HtmlTableRow row = new HtmlTableRow();
HtmlTableCell cell1 = new HtmlTableCell();
HtmlTableCell cell2 = new HtmlTableCell();

row.Cells.Add(cell1);
row.Cells.Add(cell2);

Button btn1 = new Button();
Button btn2 = new Button();

btn1.Text = "Button1";
btn2.Text = "Button2";
btn1.Width = 80;
btn2.Width = 80;

btn1.CommandName = "a";
btn1.Command += new CommandEventHandler(lb_Command);

cell1.Controls.Add(btn1);
cell2.Controls.Add(btn2);

_table.Rows.Add(row);

this.Table1.Rows.Insert(0, _row);
}

private void lb_Command(object sender, System.Web.UI.WebControls.CommandEventArgs e)
{
Response.Write("<script>alert('" + e.CommandName + "');</script>");
}

protected void Button1_Click(object sender, System.EventArgs e)
{
AddControl();
}
}
qltouming 2006-11-02
  • 打赏
  • 举报
回复
连接失效----到底是怎么个现象?
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-11-02 04:27
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。