簡體   English   中英

表格單元事件處理程序

[英]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);
    }
}

如果要使用此控件,則必須在aspx頁面頂部或在web.config中注冊該控件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM