用户控件如何获得get参数?
菜性不改 2005-08-05 11:16:19 我在某用户控件的源文件中使用了Request.QueryString,
想用来获得用户登陆成功时所传递的url信息,
将该url值赋给用户控件中一个锚控件的href。(不知道这样行不行?)
代码如下:
<a href="<%=Server.UrlDecode(Request.QueryString["hotpro"])%>" class=header>Hot Pro</a>
<a href="<%=Server.UrlDecode(Request.QueryString["hotget"])%>" class=header>Hot Get</a>
然后,在一个叫top.aspx的页面文件中使用了该用户控件,
然后把top.aspx放入一个框架文件(frame.aspx)的frame中。
这个主框架文件(frame.aspx)直接获得用户登陆所传递的url信息,
因为用户登陆成功时Response.Redirect的对象是此文件。
我认为它的子框架(就是上面提到的top.aspx)也是可以获得传给主框架的值的(不知道对不对?)。
代码如下(写了很长,请您看完):
Response.Redirect("frame.aspx?hotpro="+
Server.UrlEncode((Request.ApplicationPath.Length==1)?"":Request.ApplicationPath
+"/Administration/hotpro/hp_ad_generate.aspx")+"&hotget="+
Server.UrlEncode((Request.ApplicationPath.Length==1)?"":Request.ApplicationPath+
"/Administration/hotget/hg_ad_first.aspx"));
我发现我登陆进去以后点那个锚控件(上面提到过),
无法在另一框架中正常显示,错误提示为:
Directory Listing Denied
This Virtual Directory does not allow contents to be listed.
请告诉我该怎么办?
BTW1:我想问下,在css文件的链接声明部分有如下代码:
<link href="<%(Request.ApplicationPath.Length==1)?"":Request.Application%>/css.css">
rel="stylesheet" type="text/css">
为什么要用条件语句判断ApplicationPath的Length值??
BTW2:我再问下,我想屏蔽那个用户控件中退格和所有锚控件的Shift+左键新开窗口功能,
于是在top.aspx的脚本中定义了一段代码:
function disablekey()
{
if (window.event.keyCode==8){event.returnValue=false;}
if ((window.event.shiftKey)&&(window.event.srcElement.tagName=="A"))
{event.returnValue=false;}
}
<body onKeyDown="disablekey()">
发现退格确实失效了,但是打开新窗口还是可以的,为什么?是不是条件写错了??