2012-09-28 5 views
2

J'utilise un bouton pour obtenir l'adresse IP. Je veux afficher cette adresse IP dans le champ de texte. Ceci est mon code frontal:Afficher la sortie dans un champ de texte après un clic sur un bouton

<asp:TextBox ID="txtMachIP" runat="server" CssClass="Textbox1"></asp:TextBox> 
<asp:Button ID="BtnGetIP" runat="server" CssClass="btn1" 
        onclick="BtnGetIP_Click" Text="Get My IP" /> 

Ceci est mon code back-end pour obtenir l'ip:

protected void BtnGetIP_Click(object sender, EventArgs e) 
{ 
    string myHost = System.Net.Dns.GetHostName(); 
    System.Net.IPHostEntry myIPs = System.Net.Dns.GetHostEntry(myHost); 
    foreach (System.Net.IPAddress myIP in myIPs.AddressList) 
    { 
     MessageBox.Show(myIP.ToString()); 

    } 
} 

au lieu de la boîte de message, je veux que mon IP à afficher dans la zone de texte.

+0

Syrion, veuillez marquer la réponse comme acceptée. –

Répondre

3

S'il vous plaît donner un nom à votre zone de texte comme

<asp:TextBox ID="txtMachIP" NAME = "txtMachIPNAME" runat="server" CssClass="Textbox1"></asp:TextBox> 

Et dans le code back-end

txtMachIPNAME.Text = myIP.ToString(); 
+0

merci. travaillé comme un bijou! : D – Esha

+1

contrôles asp.net utilise ID pas nom je pense. il devrait être txtMachIP.Text = somevalue comme string –

+0

bien que le nom ne soit pas nécessaire. ça fonctionne parfaitement même sans. :) – Esha

0

Une approche consiste à stocker les valeurs dans une chaîne temporaire puis sortie la liste finale des valeurs à la zone de texte.

protected void BtnGetIP_Click(object sender, EventArgs e) 
{ 
    string myHost = System.Net.Dns.GetHostName(); 
    System.Net.IPHostEntry myIPs = System.Net.Dns.GetHostEntry(myHost); 
    // Create a temporary string to store the items retrieved in the loop 
string tempIPs = string.Empty; 
    foreach (System.Net.IPAddress myIP in myIPs.AddressList) 
    { 
     tempIPs += myIP.ToString() + ", "; 
    } 
    // Removes the redundant space and comma 
    tempIPs = tempIPs.TrimEnd(' ', ','); 
    // Print the values to the textbox 
    txtMachIP.Text = tempIPs; 
} 
Questions connexes