自定义控件的事件问题
做了一个web控件(dll的那种),里面有个button和一个dropdownlist,请问如何实现button的text根据dropdownlist的selectvalue改变而改变,现在捕获不了dropdownlist的SelectedIndexChanged事件 问题点数:20、回复次数:9Top
1 楼zhuzhu_syj(猪猪)回复于 2006-03-06 11:12:16 得分 0
我也遇过这个问题..我用1个Label把dropdownlist的SelectItem值存进去就行了
Top
2 楼bkm2(bkm2)回复于 2006-03-06 11:51:16 得分 0
用的是vb.netTop
3 楼bkm2(bkm2)回复于 2006-03-06 11:57:04 得分 0
我在控件的page_load事件中定义了
AddHandler ddlb_val.SelectedIndexChanged, AddressOf ddlb_val_SelectedIndexChanged
但是它不执行
Protected Sub ddlb_val_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs)Top
4 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-03-06 12:13:19 得分 0
将DropDownList的SelectedIndexChanged事件冒泡到你的控件中处理Top
5 楼bkm2(bkm2)回复于 2006-03-06 12:23:23 得分 0
请问怎么冒泡呢?Top
6 楼beiouwolf(beiouwolf)回复于 2006-03-06 12:28:14 得分 0
倒...
有这么复杂吗...
DROPDOWNLIST需要点击返回信息的话,需要把AutoPostBack设为true
默认是FALSE的Top
7 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-03-06 13:17:27 得分 20
#region Disclaimer
///////////////////////////////////////////////////////////////////////////////////////////////////
//
// 本文件中提供的信息按“原样”提供,不作任何形式的保证,也没有授予任何权利。
// 武眉博、活靶子、www.BooVoo.Com、www.AspxBoy.Com 不作任何明示或暗示的保证,包括对适销性和针对特定用途的适用
// 性的保证在任何情况下,武眉博、活靶子、www.BooVoo.Com、www.AspxBoy.Com 均不对任何损害(包括直接的、间接的、
// 意外的或后果性的商业利润损失或特殊损害)承担任何责任,即使 武眉博、活靶子、www.BooVoo.Com、www.AspxBoy.Com
// 先已被告知发生这类损害的可能性。
//
//-------------------------------------------------------------------------------------------------
// Project: MyControls.DropDownListButton
// HomePage: http://www.aspxboy.com/
// Blog: http://cnblogs.com/huobazi
// Email: huobazi@AspxBoy.Com && huobazi@gmail.com
// CopyRight: http://www.AspxBoy.Com && http://www.BooVoo.Com
//
//-------------------------------------------------------------------------------------------------
// For updated news and information please visit http://www.AspxBoy.com/
//-------------------------------------------------------------------------------------------------
//
// FileName: DropDownListButton.cs
// AuthorName: 武眉博、活靶子 huobazi@aspxboy.com && huobazi@gmail.com
// CreateDate: 2006-03-06
// CopyRight: www.AspxBoy.Com && www.BoVoo.Com
//
///////////////////////////////////////////////////////////////////////////////////////////////////
#endregion
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace WebTest.MyControls
{
/// <summary>
/// DropDownListButton 的摘要说明。
/// </summary>
public class DropDownListButton : WebControl , INamingContainer
{
private DropDownList list;
private Button btn;
public DropDownListButton()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
protected override HtmlTextWriterTag TagKey
{
get
{
return HtmlTextWriterTag.Div;
}
}
protected virtual void CreateControlHierarchy()
{
list = new DropDownList();
btn = new Button();
}
protected virtual void PrepareColtrolHierarchy()
{
list.AutoPostBack = true;
list.ID = "MyList";
list.Width = Unit.Pixel(80);
list.Items.Add(new ListItem("First"));
list.Items.Add(new ListItem("Second"));
list.SelectedIndexChanged +=new EventHandler(list_SelectedIndexChanged);
btn.Width = Unit.Pixel(80);
btn.ID = "MyBtn";
btn.Text = "DefaultText";
Controls.Add(list);
Controls.Add(btn);
}
private void list_SelectedIndexChanged(object o , EventArgs e)
{
btn.Text = this.list.SelectedItem.Text;
}
protected override void CreateChildControls()
{
Controls.Clear();
CreateControlHierarchy();
PrepareColtrolHierarchy();
ChildControlsCreated = true;
}
protected override void AddAttributesToRender(HtmlTextWriter writer)
{
if(Page != null)
{
Page.VerifyRenderingInServerForm(this);
}
base.AddAttributesToRender(writer);
}
protected override void Render(HtmlTextWriter writer)
{
EnsureChildControls();
base.Render (writer);
}
}
}
Top
8 楼xiahouwen(武眉博<活靶子.NET>)回复于 2006-03-06 13:19:33 得分 0
sorry 经过我测试,直接指定事件是可以的。上面回复内容为测试代码。Top
9 楼radio_3000(学习中……)回复于 2006-03-06 19:16:28 得分 0
支持!Top




