In the event of a known object, is it better practice to refer to the object by its ID or by casting the sender to the object type?

```
<asp:Button runat="server" ID="customBTN" OnClick="customBTN_Click" Text="Click Me" />

```

**By ID:**

```
protected void customBTN_Click(object sender, EventArgs e)
{
    customBTN.Text = "Clicked.";
}

```

*vs.*

**Type-casting:**

```
protected void customBTN_Click(object sender, EventArgs e)
{
    (sender as Button).Text = "Clicked.";
}

```

I'm assuming referencing by ID is probably better since no cast is involved, but wonder if maybe it's considered better practice to use the sender object in event handling.