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

1つの方法は、値を一時的な文字列に格納してから、値の最終的なリストをテキストボックスに出力することです。

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 に答える