簡體   English   中英

如何在文件后面的代碼中傳遞IP值?

[英]How to pass IP value in code behind file?

加載窗口時,將生成IP,我想Code Behind page load調用IP

的JavaScript

<script type="text/javascript">
        window.onload = function () {
            var script = document.createElement("script");
            script.type = "text/javascript";
            script.src = "https://api.ipify.org?format=jsonp&callback=DisplayIP";
            document.getElementsByTagName("head")[0].appendChild(script);
        };
        function DisplayIP(response) {
            document.getElementById("<%=ipaddress.ClientID%>").innerHTML = "Your IP Address is " + response.ip;
        }
</script>

標簽

<span id = "ipaddress" runat="server"></span>

文件后面的代碼:

protected void Page_Load(object sender, EventArgs e)
{

    MyIP = ipaddress.InnerText;
    url = "http://ip-api.com/xml/" + MyIP + "";
}

空的

ipaddress不包含期望值的原因是因為Page_Load事件在執行Java Page_Load之前發生。 您可以嘗試使用文本框的TextChanged事件。

或者,您可以直接在后面的代碼中獲取客戶端的IP地址,而無需使用javascript( 請參閱此處 )。

這是建議的解決方案之一(來自上面的鏈接):

protected string GetIPAddress()
{
    System.Web.HttpContext context = System.Web.HttpContext.Current; 
    string ipAddress = context.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

    if (!string.IsNullOrEmpty(ipAddress))
    {
        string[] addresses = ipAddress.Split(',');
        if (addresses.Length != 0)
        {
            return addresses[0];
        }
    }

    return context.Request.ServerVariables["REMOTE_ADDR"];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM