2016-05-16 4 views
0

Ich möchte die ID meiner Eingabe in C# -Sprache abrufen, wenn ich darauf klicke und sie als Argument für mein Ereignis verwende.So verwenden Sie die ID der angeklickten Eingabe als Argument für die C# -Methode

<input type="submit" id="btn1" value ="Some Text" runat="server" onserverclick="btnClick" /> 

Ich habe lange nach einer Lösung gesucht.

protected void btnClick(object sender, EventArgs e) 
{ 
    // some code which use input id 
} 
+0

Warum wollen Sie HTML-Steuerelement mit Server-Programmierung benutzen? Warum nicht direkt ASPX-Steuerelemente verwenden? – Spidey

+0

Implizieren Sie, dass Sie ein WebBrowser-Steuerelement in einer Winform-Anwendung haben, die zum Senden von Nachrichten erforderlich ist? – Barry

+0

Das clientseitige Steuerelement sollte auf der Serverseite für Sie irrelevant sein. Es ist die Aktion der Schaltfläche selbst wichtig, nicht die Schaltfläche, die diese Aktion generiert hat. – ManoDestra

Antwort

2

Ihre Taste ist bereits übergeben als das Argument sender. Einfach umwandeln und auf die Eigenschaft zugreifen.

<input type="submit" id="btn1" value="Some Text" runat="server" onserverclick="btnClick" /> 
protected void btnClick(object sender, EventArgs e) 
{ 
    var id = ((System.Web.UI.HtmlControls.HtmlInputSubmit)sender).ID; 

    // 'id' now contains the value "btn1" 
} 
0

hinzufügen Runat Server auf Ihre Eingabe, dann werden Sie in der Lage sein, es hinter var blah = btn1.Id; aus dem Code für den Zugriff auf

würde ich empfehlen die aspx Kontrollen mit:

<asp:Button ID="btn1" runat="server" OnClick="btn1_Click"></asp:Button> 
Verwandte Themen