高分请教webcontrol的事件处理问题>

jjiaming 2006-11-15 05:37:50
我在webcontrol里加了一个按钮,然后希望这个按钮的click事件在webcontrol里来处理,本来是件很容易的事,但是click事件根本就没有响应,但是页面还是会刷新的.以下是代码,请大家多多指教

browerButton.Click += new EventHandler(browerButton_Click);

void browerButton_Click(object sender, EventArgs e)
{
.........
}
...全文
141 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangchunming 2006-11-17
  • 打赏
  • 举报
回复
暂时没空,空了帮你看
jjiaming 2006-11-17
  • 打赏
  • 举报
回复
多谢
jjiaming 2006-11-16
  • 打赏
  • 举报
回复
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace Unidefine.Model
{
/// <summary>
/// 商品图片列表
/// </summary>
[DefaultProperty("Text")]
[ToolboxData("<{0}:ImageList runat=server></{0}:ImageList>")]
public class ImageList : WebControl
{
private Product productInfo;
delegate void DeleteImage(string imageName);
private List<string> changedImageList = new List<string>();

public List<string> ChangedImageList
{
get { return changedImageList; }
}

public Product ProductInfo
{
get { return productInfo; }
set { productInfo = value; }
}


protected override void CreateChildControls()
{

int imageNum = productInfo.images.Length;

for (int i = 0; i < imageNum; i++)
{
string imagePath = productInfo.images[i];
Image image = new Image();
image.ImageUrl = "images\\" + imagePath;
image.ID = "image" + i.ToString();
CheckBox checkBox = new CheckBox();
checkBox.Text = "更改图片 ";
checkBox.ID = "checkBox" + i.ToString();
TextBox imageTextBox = new TextBox();
imageTextBox.Text = imagePath;
imageTextBox.ID = "imageTextBox" + i.ToString();
Button browerButton = new Button();
browerButton.ID = "browerButton" + i.ToString();
browerButton.Text = "浏览....";
Button deleteButton = new Button();
deleteButton.ID = "deleteButton" + i.ToString();
deleteButton.Text = "删除";
checkBox.CheckedChanged += new EventHandler( checkBox_CheckedChanged);
checkBox.AutoPostBack = true;
browerButton.Click += new EventHandler(browerButton_Click);
Controls.Add(image);
Controls.Add(checkBox);
Controls.Add(imageTextBox);
Controls.Add(browerButton);
Controls.Add(deleteButton);
}

base.CreateChildControls();
}

void browerButton_Click(object sender, EventArgs e)
{
Page.Response.Write("<script language=javascript> window.alert('按钮');</script>");
}

void checkBox_CheckedChanged(object sender, EventArgs e)
{
Page. Response.Write("<script language=javascript> window.alert('按钮');</script>");
}

/// <summary>
/// Render the contents
/// </summary>
/// <param name="output">output</param>
protected override void RenderContents(HtmlTextWriter output)
{


base.RenderContents(output);
}

/// <summary>
///
/// </summary>
/// <param name="e"></param>
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
}
/// <summary>
///
/// </summary>
/// <param name="writer"></param>
protected override void Render(HtmlTextWriter writer)
{
base.Render(writer);
}
}
}
jiangchunming 2006-11-16
  • 打赏
  • 举报
回复
代码贴出来
jjiaming 2006-11-15
  • 打赏
  • 举报
回复
我已经给ID赋值 了,可是还是不行啊

jjiaming 2006-11-15
  • 打赏
  • 举报
回复
是啊.是动态添加的
jiangchunming 2006-11-15
  • 打赏
  • 举报
回复
ASP.NET的按钮生命周期是PostBack后先重新构建页面,页面构建完后才执行按钮事件,
还有如果你是动态添加的控件的话,一定要对你需要操作的控件的ID赋值
jjyjjyjjy 2006-11-15
  • 打赏
  • 举报
回复
请问你的webcontrol是动态添加的吗?如果是要在服务器端重新添加一次,服务器会在postback时重建现场。

62,066

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

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

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

试试用AI创作助手写篇文章吧