我的ASP.NET结果不同

我的ASP.NET结果不同,asp.net,vb.net,Asp.net,Vb.net,我正在为我们的intranet开发一个ASP.NET项目,该项目检索客户端的MachineName和IPAddress,我正在使用以下代码 ajax/default.aspx.vb Public Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load If Request.QueryString.Count > 0 Then Select Case Request.QueryStr

我正在为我们的intranet开发一个ASP.NET项目,该项目检索客户端的MachineName和IPAddress,我正在使用以下代码

ajax/default.aspx.vb

Public Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    If Request.QueryString.Count > 0 Then
        Select Case Request.QueryString("eval")

            Case Else
                Dim type As Type = type.GetType("ajax_default")
                Dim method As MethodInfo = type.GetMethod("zzfxn_" & Request.QueryString("eval").ToString, BindingFlags.Public Or BindingFlags.NonPublic Or BindingFlags.Instance)
                If method IsNot Nothing Then
                    method.Invoke(Me, New Object() {Request})
                End If
        End Select
    End If
End Sub

Public Sub zzfxn_zGetClientInfo(ByVal r As System.Web.HttpRequest)
    Response.Write("Client IP Address: " & Request.UserHostName & "|" & Request.UserHostAddress & "<br />")
    Response.Write("Client Machine Name: " & System.Net.Dns.GetHostEntry(Request.UserHostName).HostName.Split(".")(0))
End Sub
运行/查看测试/默认值.aspx结果至:

Client IP Address: 10.20.10.5|10.20.10.5
Client Machine Name: devctr
My client info is: Client IP Address: 10.20.10.60|10.20.10.60
Client Machine Name: test-server
10.20.10.5或devctr是我的机器,因此直接查看ajax/default.aspx将返回准确/真实的内容,而10.20.10.60或测试服务器是我的主机/服务器

有人能给我解释一下他们为什么不同吗?
如何使ajax/defaut.aspx的结果与test/Default.aspx完全相同?

在test/Default.aspx示例中,您正在创建一个源于服务器的web请求,因此使用了“runat='server'”参数。如果您试图创建一个源于客户端的ajax请求,则需要使用类似javascript的客户端脚本。您可以使用jQuery执行以下操作:

$.ajax({
  url: "/?eval=zGetClientInfo"
}).done(function(data) {
  //Set your html here
});

<>如果你真的要这么做,我会考虑浏览ASP.NET Web API。如果您以某种JSON或XML格式返回结果,您的解决方案将更加健壮,web API也可以这样做。

在test/Default.aspx示例中,您创建的是一个源于服务器的web请求,因此使用了“runat='server'”参数。如果您试图创建一个源于客户端的ajax请求,则需要使用类似javascript的客户端脚本。您可以使用jQuery执行以下操作:

$.ajax({
  url: "/?eval=zGetClientInfo"
}).done(function(data) {
  //Set your html here
});

<>如果你真的要这么做,我会考虑浏览ASP.NET Web API。如果您以某种JSON或XML格式返回结果,您的解决方案将更加健壮,web API也可以这样做。

在test/Default.aspx示例中,您创建的是一个源于服务器的web请求,因此使用了“runat='server'”参数。如果您试图创建一个源于客户端的ajax请求,则需要使用类似javascript的客户端脚本。您可以使用jQuery执行以下操作:

$.ajax({
  url: "/?eval=zGetClientInfo"
}).done(function(data) {
  //Set your html here
});

<>如果你真的要这么做,我会考虑浏览ASP.NET Web API。如果您以某种JSON或XML格式返回结果,您的解决方案将更加健壮,web API也可以这样做。

在test/Default.aspx示例中,您创建的是一个源于服务器的web请求,因此使用了“runat='server'”参数。如果您试图创建一个源于客户端的ajax请求,则需要使用类似javascript的客户端脚本。您可以使用jQuery执行以下操作:

$.ajax({
  url: "/?eval=zGetClientInfo"
}).done(function(data) {
  //Set your html here
});


<>如果你真的要这么做,我会考虑浏览ASP.NET Web API。如果您以某种JSON或XML格式返回结果,您的解决方案将更加健壮,而web API可以做到这一点。

不幸的是,并非所有web浏览器,尤其是IE的较低版本,都支持jQuery库。我已经用过那个方法了,因为那个问题我放弃了。我们的大多数用户仍然运行较低级别的计算机,并使用默认的web浏览器,所以使用普通的ASP.NET就可以了。哇,有人在使用IE 5或更早版本吗?这已经有15年的历史了。我认为我们仍然使用IE6作为最古老的浏览器。并非所有计算机都连接到web。IE6支持jQuery。无论如何,您需要从客户端创建请求,因此如果不是jQuery,则需要使用纯javascript。这都是假设您需要以Ajax的方式来做这件事。为什么不简单地填写原始页面请求上的信息,为什么通过ajax来完成呢?如果您不想使用JavaScript,那么ajax不是一个选项,您需要在初始页面加载时设置这些值。另外,您不需要JRE来编写JavaScript。不幸的是,并非所有的web浏览器,尤其是IE的较低版本,都支持jQuery库。我已经用过那个方法了,因为那个问题我放弃了。我们的大多数用户仍然运行较低级别的计算机,并使用默认的web浏览器,所以使用普通的ASP.NET就可以了。哇,有人在使用IE 5或更早版本吗?这已经有15年的历史了。我认为我们仍然使用IE6作为最古老的浏览器。并非所有计算机都连接到web。IE6支持jQuery。无论如何,您需要从客户端创建请求,因此如果不是jQuery,则需要使用纯javascript。这都是假设您需要以Ajax的方式来做这件事。为什么不简单地填写原始页面请求上的信息,为什么通过ajax来完成呢?如果您不想使用JavaScript,那么ajax不是一个选项,您需要在初始页面加载时设置这些值。另外,您不需要JRE来编写JavaScript。不幸的是,并非所有的web浏览器,尤其是IE的较低版本,都支持jQuery库。我已经用过那个方法了,因为那个问题我放弃了。我们的大多数用户仍然运行较低级别的计算机,并使用默认的web浏览器,所以使用普通的ASP.NET就可以了。哇,有人在使用IE 5或更早版本吗?这已经有15年的历史了。我认为我们仍然使用IE6作为最古老的浏览器。并非所有计算机都连接到web。IE6支持jQuery。无论如何,您需要从客户端创建请求,因此如果不是jQuery,则需要使用纯javascript。这都是假设您需要以Ajax的方式来做这件事。为什么不简单地填写原始页面请求上的信息,为什么通过ajax来完成呢?如果您不想使用JavaScript,那么ajax不是一个选项,您需要在初始页面加载时设置这些值。另外,您不需要JRE来编写JavaScript。不幸的是,并非所有的web浏览器,尤其是IE的较低版本,都支持jQuery库。我已经用过那个方法了,因为那个问题我放弃了。我们的大多数用户仍然运行较低级别的计算机,并使用默认的web浏览器,所以使用普通的ASP.NET就可以了。哇,有人在使用IE 5或更早版本吗?这已经有15年的历史了。我想我们仍然使用IE6作为