반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 04:57
관리 메뉴

ImJay

[ASP.NET] VB sender.clientID C#으로 변환(렌더링)하는 방법 본문

Web/ASP.NET

[ASP.NET] VB sender.clientID C#으로 변환(렌더링)하는 방법

ImJay 2023. 8. 1. 11:50
반응형

Visual Basic의 sender.ClientID를 C#으로 변환하려면 sender 객체가 어떤 타입인지에 따라 다를 수 있습니다. 일반적으로 Visual Basic에서 sender 객체는 이벤트 핸들러에서 사용되며, 이벤트가 발생한 컨트롤의 정보를 가지고 있습니다. C#에서 이와 유사한 정보를 얻기 위해서는 몇 가지 방법이 있습니다.

C#에서는 이벤트 핸들러의 첫 번째 매개변수로 object sender가 전달됩니다. 이 객체를 해당 컨트롤 타입으로 캐스팅하여 해당 컨트롤의 속성에 접근할 수 있습니다.

예를 들어, Visual Basic의 코드가 다음과 같다고 가정해봅시다:

Private Sub Button_Click(sender As Object, e As EventArgs)
    Dim buttonID As String = DirectCast(sender, Button).ClientID
    ' ... (더 많은 코드)
End Sub

이를 C#으로 변환하면 다음과 같이 됩니다:

private void Button_Click(object sender, EventArgs e)
{
    string buttonID = ((Button)sender).ClientID;
    // ... (더 많은 코드)
}

C#에서는 sender를 Button 타입으로 캐스팅하고, 그 후에 ClientID 속성에 접근하면 됩니다.

다만, C#에서는 보통 ClientID라는 속성을 가진 컨트롤을 사용하지 않습니다. 대신에 ASP.NET에서는 주로 ClientIDMode 속성을 이용하여 클라이언트 측의 ID를 컨트롤과 어떻게 매핑할지 결정합니다. 따라서 C#에서는 대부분 ID 속성을 사용하여 컨트롤의 ID를 가져옵니다.

만약 Visual Basic의 ClientID가 ASP.NET에서 사용되는 컨트롤의 ID를 나타낸다면, C#으로 변환할 때 ID 속성을 사용해야 합니다. 예를 들면:

Private Sub Button_Click(sender As Object, e As EventArgs)
    Dim buttonID As String = DirectCast(sender, Button).ID;
    // ... (더 많은 코드)
End Sub

C#으로 변환하면 다음과 같이 됩니다:

private void Button_Click(object sender, EventArgs e)
{
    string buttonID = ((Button)sender).ID;
    // ... (더 많은 코드)
}

이렇게 하면 C#에서 ClientID 대신 ID를 사용하여 컨트롤의 ID를 가져올 수 있습니다.

반응형
Comments