Feedback
@JesseZhao
<ul>和<li>做的列表,用js控制它们的展开或者收缩,cookie记录其状态。兄弟有兴趣的话看一下源码就行了。
写些东西除了大家共享外,还能让自己记的牢一些,就算忘了也知道哪里去找,希望自己能坚持下去啊。兄弟的blog也是文章多多,同时希望你也能坚持下去
@webabcd
你和我的研究方向一样啊
我接下来也是那个方向的
@webabcd
看了你的文章索引,感觉兄弟你还真是一个高产优质的google bloger啊
前一段时间,我还建议dudu实现树状目录结构的“随笔分类”呢,感觉树状目录的组织形式可能更好一点,我们能做的毕竟是客户端的东西,不可以动态更新的,呵呵……
@蜡人张
呵,在dudu实现这个功能之前,就先手动更新吧
收到了,谢谢
有个问题想问问你,像126那样的定时收邮件弹出来提示,这些功能用什么方法实现啊?
用time控件?那它怎样实现把126窗口变成当前窗口啊?有时候你把126最小化后他会自动弹出来的。
@ivw
对应到asp.net ajax里就应该是timer控件
具体的没研究过啊
还有个问题就是,
我做了一个BasePage的类,他继承了System.Web.UI.Page ,可不可以在这个类里加一个 Page_Load ,执行一些共用的功能啊?我在重写里找不到这个方法。
@ivw
这么写
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
}
代码写在base前跟后有什么分别啊?那每个页面里的page_load 还会执行吗?谢谢
@ivw
会执行
实际上Page_Load是这么来的
Page.Load += new System.EventHandler(this.Page_Load);
private void Page_Load(object sender, System.EventArgs e)
{}
@ivw
其实就是AutoEventWireup="true"
原来做过b/s的防止同一个用户多次登录,主要解决的问题就是用户非正常退出的问题,我原来的解决办法是用一张表记录用户名和登录时间,ajax定时更新自己的登录时间,同时删除登录时间超过n分钟的用户,比较费资源啊。
如果用这种方法不就麻烦吗?也就是你说的浪费资源。不知道有没有其它的办法呢?只要做登录时的判断就可以了吧,判断是否登录。
@ivw
登录时候好判断,可以用session判断
正常退出也好说,可问题就是非正常退出,如断电,死机之类
所以我才用了我上面所说的那个方法
用session也可以?我用的时cache,还有就是如果用户按了右上角的关闭退出,这怎样注销用户的session信息啊?
@ivw
嗯,在cache中加个用户登录表也是挺好的
点关闭按钮注销session,那就等timeout吧
所以核心问题就是解决非正常登录的问题啊
是啊,非正常关机的确很麻烦,有没有办法可以在按关闭按钮时写些注销代码啊?
@ivw
可以在body的onUnload事件中指向一个自动注销的页面
有时候用onbeforeunload按确定后会弹出两次对话框,是什么原因呢?
如果在onunload里加入指向注销页面,每次按F5刷新页面都会注销一次,那就不准确了,可不可以只在退出时才运行注销啊?
@ivw
try this
<script language="javascript">
window.onbeforeunload = function()
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
alert('alert');
}
}
</script>
如果在onunload里加入指向注销页面,每次按F5刷新页面都会注销一次,那就不准确了,可不可以只在退出时才运行注销啊?
能不能把alert('alert')这里换成confirm啊,如果按确定就退出注销,否则就返回。
@ivw
那个东西是我原来收藏的
最初的代码是
<script language="javascript">
window.onbeforeunload = function()
{
var n = window.event.screenX - window.screenLeft;
var b = n > document.documentElement.scrollWidth-20;
if(b && window.event.clientY < 0 || window.event.altKey)
{
return "message";
}
}
</script>
可是不知道怎么捕捉到点了确定以后的事件,js水平还欠火候啊
感觉.net很多地方都在于JS跟 CSS,自己好像刚刚才起跑,路还长着呢。
wf是什么啊?
@ivw
呵,兄弟努力吧
wf是.net framework 3.0里的Windows Workflow Foundation啊
我在page_load里向前台写入js时出现个问题,他提示未结束的字符串常量。代码如下
System.Text.StringBuilder outhtm = new System.Text.StringBuilder();
outhtm.AppendFormat("<script type=\"text/javascript\" src=\"/kis/clientjs/main.js\"></script>");
RegisterStartupScript("RegisterClientScriptBlock", outhtm.ToString());
请问有什么办法解决啊?谢谢
如果直接在head里输入<script type="text/javascript" src="/kis/clientjs/main.js"></script>就没问题,但如果在后台添加就出现问题了
@ivw
ok
2005里建议这样写
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "js", "<script type=\"text/javascript\" src=\"/kis/clientjs/main.js\"></script>");
我也不知道是什么原因,我页面里使用了altas,我在ScriptManager控件里注册JS都出现同样问题。
晕,,问题原来是我调用了梅花雪的日历JS引起的。。
兄弟,有问题想请教你。
例如我在A(服务器端)机打印一张报表,打印同时B(客户端)同样打印出另一张报表啊?
@ivw
呵,找到错误就好
这东西是c/s的吧,我不会啊
呵,
b/s应该也可以做到的,但在网上就是找不到一些这样的例子,
还有想问问你atlas里不能使用Response.Write("<script type=\"text/javascript\" >alert('')</script>");这种方式弹出提示框了吗?
@ivw
b/s结构的会有让服务器端打印的需求吗?
asp.net ajax里注册脚本应该用
ScriptManager.RegisterClientScriptBlock()
有些特殊的情况啊,就是说服务器端也在使用。呵呵。
注册脚本那里好了,原来asp.net ajax用这个方法注册的。谢谢了。
呵呵。要的。asp.net ajax 都是刚开始接触不久。。
也要谢谢你帮我解答了这么多问题。现在觉得自己水平提高了些。呵呵
@ivw
大家多交流可以互相提高啊,给别人解答问题的同时自己也可以加深印象
呵呵,是啊。
今天很多blogs都上不了,你这也上不了。
@ivw
是呀,好像是服务器所在的网络受到攻击了
兄弟好像还没有博客园的帐号,不如申请一个,写些东西,也方便交流
没有啊,没有这样的技术啊。。呵呵,在你这里混混也不错啊。
@ivw
其实根本需不要什么技术啊,我的技术也不怎么样,算是自己学习和实践的一个记录,坚持一段时间后你会觉得受益很多
以后再想这个了。其实现在我在电脑上也有做记录的。一些网上找出来的,一些经验之类的都做了记录。这样可以留到以后做参考。