[英]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.