我是新來的自定義控件在asp.net中。附加圖片按鈕的點擊事件處理程序時遇到困難。我爲服務器控制編寫了以下代碼。如何爲自定義控件綁定事件處理程序
ImageButton _imgbtn;
TextBox txtOutput;
Label _lblname;
public ImageButton searchBtn
{
get { return _imgbtn; }
set { _imgbtn = value; }
}
public Label lblName
{
get { return _lblname; }
set { _lblname = value; }
}
protected override void OnInit(EventArgs e)
{
txtOutput = new TextBox();
txtOutput.Width = 180;
txtOutput.ID = "ResultOutput";
txtOutput.Enabled = false;
Controls.Add(txtOutput);
searchBtn = new ImageButton();
Controls.Add(searchBtn);
lblName = new Label();
lblName.Text = "";
Controls.Add(lblName);
}
protected override void RenderContents(HtmlTextWriter output)
{
//base.Render(output);
txtOutput.RenderControl(output);
searchBtn.RenderControl(output);
lblName.RenderControl(output);
}
我將這個自定義控件添加到帶有註冊標記的.aspx頁面,如下所示。
<%@ Register TagPrefix="mycontrol" Namespace="MyControl" Assembly="MyControl" %>
在aspx.cs文件我給下面的屬性值,
CustomControl mycustctrol;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
mycustctrol = myCust as CustomControl;
mycustctrol.searchBtn.ImageUrl = "~/Images/searchicon.png";
mycustctrol.searchBtn.OnClientClick = "GenerateClickEvent"
}
}
public void GenerateClickEvent(object sender, EventArgs args)
{
mycustctrol.lblName.Text = "clicked";
}
運行此應用程序後,我收到以下錯誤。
'GenerateClickEvent' 未定義
如果我做了錯誤。我試圖宣佈一個事件,如public event EventHandler GenerateClickEvent;
,但我無法走得更遠。你能告訴我怎麼做到這一點。
我也試圖與在.aspx頁面的JavaScript功能
function GenerateClickEvent() {
alert('clicked');
}
alert('clicked');
不點火。
GenerateClickEvent做你爲這個 –
是定義jacascript。看到我編輯的問題一次 – Mihir