关于 动态框架 的处理
有一个框架页面 main.aspx, 布局为
---------------------
| |
| map |
|________| data
| lst |
| |
-----------------------
现在要求左上角的小块区域(map)要根据传输的参数选择不同的页面
我在 main.aspx 的后台编码文件的 Page_load 中写
s = Request.QueryString("CT")
'根据参数获得相应的页面
....
if s = "dd"
url = ct.aspx
else
url = ct2.aspx
end if
'调入页面
Response.Write("<script>map.location.href = '" & url & "'</script>")
运行时却报 map.location 是 null 或不是一个物件 的错误
是不是在 Page_Load 时, 框架还没生成呢?
但我在脚本里写却是可行的, 就是在脚本里取不到参数了
function window.onload()
{
map.location.href="ct.aspx"; //执行正常
}
请问该怎么办?
问题点数:100、回复次数:13Top
1 楼therainman(一只郁闷的猪)回复于 2005-07-01 17:21:06 得分 30
页面再page_Load时已经编译了
你应该加在Page_Init里面把,你可以参考
http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/viewstate.asp
Top
2 楼ajieboy(齐)回复于 2005-07-01 17:21:46 得分 30
前台
function window.onload()
{
map.location.href="<%=url%>";
}
后台
Page_load 里
url = "ct.aspx";Top
3 楼fengfangfang()回复于 2005-07-01 17:22:41 得分 10
把你的
"<script>map.location.href = '" & url & "'</script>"
赋给一个窗体上的Label
Top
4 楼ajieboy(齐)回复于 2005-07-01 17:23:05 得分 10
url应该是PublicTop
5 楼renyu732(Sysinfo)回复于 2005-07-01 17:37:41 得分 0
下班了,一会回家接着看...Top
6 楼renyu732(Sysinfo)回复于 2005-07-01 22:08:26 得分 0
window.location.href=Top
7 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2005-07-02 00:47:24 得分 0
同意楼上的,应该是map.window.location.href,这样写比较符合标准。Top
8 楼huwei001982(凶猛的小狗)回复于 2005-07-02 09:07:00 得分 0
经测试, 在脚本中写 <%=%>服务端标记语法是可行的
但为什么在 Page_Load 中写 Response.Write(...)会出错呢Top
9 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2005-07-02 12:47:45 得分 0
那你就在IE浏览该页,然后查看源代码,看看Response.Write的东西写去哪里了。
我猜想结果会是这样,因为你写在Page_Load里面,Page_Load在一切Render之前执行,那么你的Response.Write必然在一切HTML代码前面。而客户端对HTML和JS的解释都是自顶而下的,在你都还没有提及map这个frame的时候,你就要用map.window.location.href,客户端自然把这句当作错误语句忽略掉。Top
10 楼Seeko0(阿 枫(终点又回到起点,到现在我才发现))回复于 2005-07-02 23:30:25 得分 10
function window.onload()
{
parent.document.frames["map"].location.href="ct.aspx"; //执行正常
}Top
11 楼cat_hsfz(我的新Blog在http://cathsfz.cnblogs.com)回复于 2005-07-03 00:16:30 得分 0
呵呵……答案真的是一个比一个标准化了。楼上 Seeko0(阿 枫(www.vivichen.com)) 的好像更好一些。Top
12 楼luyesql(叶子绿了)回复于 2005-07-03 00:26:22 得分 0
学习中Top
13 楼karykwan(独行者)回复于 2005-07-03 00:48:12 得分 10
Response.Write("<script language=\"javascript\">window.parent.frames(\"mainFrame\").document.location.href =\"searchresults.aspx?type="+index+"&fullType="+indexText+"&abc="+Server.UrlEncode(searchTxt)+"\";</script>");
注:
mainFrame 框加名
Server.UrlEncode解码很重要Top




