在文件后面的代码中编写脚本代码,并从中获取值

write script code in code behind file and get value from it

本文关键字:代码 获取 脚本 文件      更新时间:2023-09-26

我正在使用这个脚本并返回与我的ip地址相关的信息

<script language="Javascript" src="http://gd.geobytes.com/gd?after=-1&variables=GeobytesCountry,GeobytesCity,GeobytesRegion,GeobytesLatitude,GeobytesLongitude">
</script>

<script language="Javascript">
    document.write("<p>Welcome to visitors from " + sGeobytesCity + ", " + sGeobytesCountry + ", " + sGeobytesRegion + ", " + sGeobytesLatitude + ", " + sGeobytesLongitude);
</script>

是否有任何方法,我使用这个脚本在代码后面的文件(aspx.cs),并将它们存储到一些变量…

protected void Page_Load(object sender, EventArgs e)
{
string city = sGeobytesCity;
}

使用asp文字控件

document.write('<p>Welcome to visitors from <asp:Literal id="sGeobytesCity" runat="server"' />);

然后在你的代码后面

sGeobytesCity.Text = HttpUtility.JavaScriptStringEncode("yourCityNameHere");

javascript编码器的主要目的是删除任何可能过早终止字符串的单撇号或双引号,从而允许javascript错误或恶意注入。

尝试将脚本中的数据保存在hidden输入runat=server中,然后从代码后面可以访问这个隐藏的输入。

<input type="hidden" runat="server" id="hiddenData" />
然后

string data = hiddenEntityId.Value; //to get the data back

是的,但这一点也不简单。在javascript中,浏览器正在为你处理所有的"打开web请求,获取结果"。它运行javascript,让你把值放入变量。在后面的代码中,你自己在做。这个例子来自http://msdn.microsoft.com/en-GB/library/system.net.webrequest.aspx

// Create a request for the URL.        
WebRequest request = WebRequest.Create ("http://gd.geobytes.com/gd?after=-1&variables=GeobytesCountry,GeobytesCity,GeobytesRegion,GeobytesLatitude,GeobytesLongitude");
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
Stream dataStream = response.GetResponseStream ();
StreamReader reader = new StreamReader (dataStream);
var responseFromServer = reader.ReadToEnd ();
reader.Close ();
dataStream.Close ();
response.Close ();

然后您必须查看responseFromServer并确定如何从响应中获取所需的数据。或者查看该网站是否有不同的api可以访问。