• 全部
  • .NET Framework
  • ASP
  • Web Services
  • .NET互联网桌面应用
  • VB
  • 图表区
  • 分析与设计
  • 组件/控件开发
  • AppLauncher
  • 问答

@@@@@@@@@@@@@关于智能导航SmartNavigation-----------

fornothing 2004-10-28 05:02:11
页面中我用了
Response.Write("<script>alert('alert')</script>");
和Response.Redirect("second.aspx?str=" & mystring)

会报指针出错

有什么办法嘛??

还有在div里面我用了datalist控件,有滚动条的情况下怎么用SmartNavigation

谢谢

...全文
209 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fornothing 2005-03-15
很久了 该结贴了
回复
zhn0410 2004-10-29
占个学习,并帮你顶一下
回复
fornothing 2004-10-29
to goody9807()

你的意思是把我页面中的Response.Write
改成你的
Response.Write("<script>alert('alert')</script>");
Response.Flush()
Response.Redirect("second.aspx?str=" & mystring)

??
回复
fornothing 2004-10-29
vb.net

怎么了??
回复
活靶子哥哥 2004-10-29
SmartNavigation
为什么要用

试试

http://www.cnblogs.com/huobazi/archive/2004/09/20/44823.html
回复
athossmth 2004-10-29
smartnavigation 建议不要用,记得有bug的。

>>trnbo(我的目标是没有蛀牙):
>>SmartNavigation可以减少页面刷新,它还是加载以前的ViewState,页面输出的Html并不改变
这个是开玩笑的吧。SmartNavigation的原理是:

1.Response.Redirect:

public void Redirect(string url, bool endResponse)
{ Page page1;
....
url = this.ApplyAppPathModifier(url);
url = this.ConvertToFullyQualifiedRedirectUrlIfRequired(url);
url = this.UrlEncodeRedirect(url);
this.Clear();
page1 = (this._context.Handler as Page);
if (((page1 != null) && page1.IsPostBack) && page1.SmartNavigation)
{
this.Write("<BODY><ASP_SMARTNAV_RDIR url="");
this.Write(url);
this.Write(""></ASP_SMARTNAV_RDIR>");
this.Write("</BODY>");

}
....

2. C:\Inetpub\wwwroot\aspnet_client\system_web\1_1_4322\SmartNav.js里:

var snSrc;
if (window.__smartNav == null)
{
window.__smartNav = new Object();
window.__smartNav.update = function()
{
var sn = window.__smartNav;
var fd;
document.detachEvent("onstop", sn.stopHif);
sn.inPost = false;
try { fd = frames["__hifSmartNav"].document; } catch (e) {return;}
var fdr = fd.getElementsByTagName("asp_smartnav_rdir");
if (fdr.length > 0)
{
if (sn.sHif == null)
{
sn.sHif = document.createElement("IFRAME");
sn.sHif.name = "__hifSmartNav";
sn.sHif.style.display = "none";
sn.sHif.src = snSrc;
}
try {window.location = fdr[0].url;} catch (e) {};
return;
}
....

本身就容易出错。
回复
xiaohutushen 2004-10-28
up
回复
meilixueshan2009 2004-10-28
你用C#?还是VB.NET?
回复
goody9807 2004-10-28
sorry !

Response.Write("<script>alert('alert')</script>");
Response.Flush()
Response.Redirect("second.aspx?str=" & mystring)
回复
goody9807 2004-10-28
Response.Write("<script>alert('alert')</script>");
Response.End()
Response.Redirect("second.aspx?str=" & mystring)
回复
trnbo 2004-10-28
SmartNavigation可以减少页面刷新,它还是加载以前的ViewState,页面输出的Html并不改变,因此无论是用Reponse.write(“<script>window.open(...)</script)”还是RegisterStartupScript都不能实现弹出窗口的功能,但是每次刷新时,页面上的Label或是Literal的Text属性是可以改变的,因此,可以利用Literal.Text属性,将其设为“<script>window.open(...)</script)”就可以了。

值得注意的一点,在aspx页面中,WebControl控件并不是一定要放在<form></form>标记之间,它也可以放在<head></head>之间或是其他任何地方,因为在页面分析的时候,并不关注其页面的HTML的实际内容,因此,在写JavaScript语句时,甚至可以将一些需要从数据库读出的内容用一个Literal来进行显示。如下代码所示。
页面代码:
<head>
<script>
...JavaScript...
<asp:Literal id="Want" runat="server"></asp:Literal>
...JavaScript...

</script>
</head>

然后在代码中设置Literal.Text属性,这样也可以实现变化的JavaScript语句了。
回复
luoyankun0216 2004-10-28
我也不太清楚.帮你UP,希望你早日解决.
回复
发帖
.NET技术社区
创建于2007-09-28

5.8w+

社区成员

.NET技术交流专区
申请成为版主
帖子事件
创建了帖子
2004-10-28 05:02
社区公告
暂无公告