2

我正在使用一个按钮来获取 IP 地址。我想在文本字段中显示该 IP 地址。这是我的前端代码:

<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" />

这是我获取 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());

    }
}

我希望我的 IP 显示在文本区域中,而不是消息框。

4

2 回答 2

3

请给你的文本框起一个名字,比如

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

在后端代码中

txtMachIPNAME.Text = myIP.ToString();
于 2012-09-28T05:01:04.647 回答
0

一种方法是将值存储在临时字符串中,然后将最终的值列表输出到文本框。

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;
}
于 2012-09-28T05:04:17.780 回答