我试图在页面加载时执行一个javascript函数,然后做一个回发,在后台代码中调用一个函数。我正在获取时区数据,并尝试将它们作为参数传递给__dopostback。以下是我所拥有的(缩写):
在.aspx文件中
<body onload="GetLocalTime()">
....
function GetLocalTime(){debugger
var d = new Date();
var tzOffset = d.getTimezoneOffset();
var hfOffset = document.getElementById('<%=hfOffset.ClientID%>');
var hfTZName = document.getElementById('<%=hfTZName.ClientID%>');
var tzName = getTimezoneName();
hfOffset.value = tzOffset;
hfTZName.value = tzName;
__doPostBack('TZSessionVars', tzOffset, tzName);
}在代码后台的Page_Load()中,如果IsPostback为true:
string sTarget = Request["__EVENTTARGET"];
if (sTarget.Equals("TZSessionVars"))
{
string sArg = Request["__EVENTARGUMENT"];
SetTZSessionVars(sArg); // this is where I parse the argument and set session vars
}当我跟踪javascript时,当它命中__doPostback时,它会说:Microsoft JScript运行时错误:预期对象
参数tzOffset和tzName正常且具有有效值。
发布于 2013-02-22 02:10:30
您可以按照本文中的说明使用__EVENTARGUMENT。
Doing or Raising Postback using __doPostBack() function from Javascript in Asp.Net
尝试将连接的值作为单个__EVENTARGUMENT传递,并在服务器上将其拆分,以获得实际参数
https://stackoverflow.com/questions/15009182
复制相似问题