我需要在ASP.NET应用程序中的Page load之前执行javascript。
我的函数返回用户位置,我想将值传递给服务器端并根据位置加载数据。
问题是页面加载后执行javascript函数。
这是我的代码:
$(function () {
getLocation();
});
在getLocation函数中我设置隐藏字段值
$("#<%= HfLocation.ClientID %>").val(location);
在代码背后我尝试获取价值,但它总是空的
protected void Page_Load(object sender, EventArgs e)
{
var location = HfLocation.Value;
}
答案 0 :(得分:6)
我需要在ASP.NET应用程序中的Page load之前执行javascript
这个要求毫无意义。记住ASP.NET的工作原理:
您发现在步骤3(执行Page_Load事件)之前执行步骤5是不可能的。
答案 1 :(得分:0)
我需要在ASP.NET应用程序中的Page load之前执行javascript。
在这种情况下,您需要发出两个页面请求。您无法使用单个页面请求执行此操作,因为Page_Load()在将HTML + JS发送到客户端之前运行。
相反,有一个迷你页面进行JS调用,然后要么回发到当前页面,要么(可能更好),加载一个新页面。您可以通过常规(非服务器)表单传递位置数据,也可以通过在客户端上从JS设置cookie,或将其编码为查询字符串。
第二页/请求将在其Page_Load()事件触发时获得所需的数据。
答案 2 :(得分:0)
使用javascript进行ajax回调以请求数据。