[英]Tablecell eventhandler
我正在C#中創建一個連續4個小游戲。
我的第一個想法是使用現有的Table控件,為它提供6行5列,並為所有tablecell對象賦予唯一的ID。 然后,我將繼續向定義自己的第一行的每個單元格添加事件處理程序,以便當用戶單擊其中的一個時,我的代碼將檢查單擊的單元格下方的單元格並更改其背景色。代表您在現實生活中插入的作品的單元格。
我的問題是,如何將事件處理程序添加到tablecell對象,因為僅有的預定義事件是DataBinding,Init,Load,PreRender和Unload,並且由於它們不符合我的需求,因此我需要創建自己的事件處理程序。 有任何想法嗎?
普通表格單元格沒有OnClick事件。 最簡單的選擇是在表單元格中放置<asp:LinkButton>
, <asp:Button>
或<asp:ImageButton>
。 當然,您也可以自己創建一個ClickableTableCell
控件。 這是一個非常簡單的實現:
public class ClickableTableCell : TableCell, IPostBackEventHandler
{
public event EventHandler Click;
public override void RenderBeginTag(HtmlTextWriter writer)
{
Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this, null));
base.RenderBeginTag(writer);
}
public void RaisePostBackEvent(string eventArgument)
{
OnClick(new EventArgs());
}
protected void OnClick(EventArgs e)
{
if (Click != null)
Click(this, e);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.