东华一只球 2010-01-25 11:25
厉害啊。
軒轅劍 2010-01-23 15:13
@Gray Zhang
[quote]Gray Zhang:Website的项目中,页面是没有命名空间的,但他依然是一个类,所以可以尝试在type中直接写类型……VS2008中已经没有website这个项目了,我也没法尝试,实在不好意思[/quote]
vs2008添加新建-网站 就有website
ForFreeDom 2010-01-12 11:46
大神赐个demo吧!!!!!
千山万水 2009-10-09 17:16
我宁波的,公司在做网站项目,邀请你加入,有兴趣吗,QQ329938972,E-MAIL:826202@163.COM,吕文
smildlzj 2009-10-03 09:26
http://www.open-lib.com/html/Lib/628.html
这个是jquery的。。。
kwjlk 2009-10-02 19:25
厉害 厉害
jejwe 2009-10-02 11:42
也可以借鉴
http://jsclass.jcoglan.com/
jejwe 2009-10-02 11:37
我觉得用mootools开发UI是最合适不过的。封装性比较好。有不少相当精细的UI库。官方的UI也在开发中。适合JS项目型的。可以参考
http://mochaui.com/demo/
http://mochaui.com/demo/demo-virtual-desktop.html
demo 是老版本的。新版本的要下源码
jejwe 2009-10-02 11:36
我觉得用mootools开发UI是最合适不过的。封装性比较好。有不少相当精细的UI库。官方的UI也在开发中。适合JS项目型的。可以参考
http://mochaui.com/demo/
http://mochaui.com/demo/demo-virtual-desktop.html
私家侦探 2009-10-02 00:29
EXT的示例程序里面就有个模仿vsita系统的桌面,有开始,程序,任务栏等等非常逼真的,你看看就知道啦
Gray Zhang 2009-10-01 22:56
@SuperSaiyan
唉你说我也真失败,竟然把YUI忘记了,亏我还研究了半天的YUI DOCS在那生成文档……
非常感谢你的提醒,抽空去完整学习一下YUI,自己的框架继续作为一种学习和成长而努力发展,说不定哪天超过别人了呢~
SuperSaiyan 2009-10-01 22:50
[quote]Gray Zhang:
@SuperSaiyan
嗯,正如你所说,在跨浏览器方面,即便有jQuery的帮助,还是废了很大的劲,顺便都找出了jQuery的BUG
现在在IE8,IE6和FF3.5测试没有问题,但在框架更加庞大的趋势下很难保证
而制作这个框架其实也是因为并没有找到非常合适的可以应用于这一次项目的开源框架,我在此对比一下:
jQuery:封装性不足,面对复杂的界面,使用过程化的编程很难满足要求,jQueryUI也并没能提供足够的封装性以及对对象的管理能力
EXTJS:封装太强,使用EXTJS意味着几乎所有的内容都要通过JS生成,对项目组成员的JS要求过高
prototype:这确实是...[/quote]
YUI
YUI有一种说法, 叫 progressive improvement(或者enhancemennt, 我记不太准了), 就是html 加 js的意思. Microsfot叫 behaviour extender. 实质都差不多.
Gray Zhang 2009-10-01 22:21
@小赛布里
好厉害……能不能让我借鉴下啊,对我的这些有什么意见也提提嘛
小赛布里 2009-10-01 22:18
您如果有找人合作开发的想法,我肯定参加。
贴2个以前的作品[img]http://images.cnblogs.com/cnblogs_com/cwblaze/197618/r_1.jpg[/img]
<br />[img]http://images.cnblogs.com/cnblogs_com/cwblaze/197618/r_2.jpg[/img]
Gray Zhang 2009-10-01 21:59
@超SEO
如果你认为面向对象就是类及继承的话,可能你对面向对象的理解还停留在一个比较表层的地带
事实上面向对象有多种语言层次上的实现方式,其中比较流行的一种是类+继续,称为基于类的面向对象
而另一种较为流行的是基于原型的面向对象,代表就是JS,事实上JS天生是面向对象的……
Gray Zhang 2009-10-01 21:57
@SuperSaiyan
嗯,正如你所说,在跨浏览器方面,即便有jQuery的帮助,还是废了很大的劲,顺便都找出了jQuery的BUG
现在在IE8,IE6和FF3.5测试没有问题,但在框架更加庞大的趋势下很难保证
而制作这个框架其实也是因为并没有找到非常合适的可以应用于这一次项目的开源框架,我在此对比一下:
jQuery:封装性不足,面对复杂的界面,使用过程化的编程很难满足要求,jQueryUI也并没能提供足够的封装性以及对对象的管理能力
EXTJS:封装太强,使用EXTJS意味着几乎所有的内容都要通过JS生成,对项目组成员的JS要求过高
prototype:这确实是很好的底层库,我的框架中有一部分也是借鉴了他的思想,但由于是底层库,UI方面总得自己做
事实上EXTJS和自己做框架之间取舍了很久,这个框架说白了就是一个轻量的EXTJS的子集,唯一的不同是,窗口中的内容尽可能地是原生的HTML元素,而不是通过JS生成的一大堆控件,这样的好处是可以先针对HTML进行调试,再直接放置到窗口中,基本不会出现问题
因此,在开发的过程中,其他的前台人员甚至有可能不需要学习框架,他们直接制作HTML页面,大致告诉他们内容的大小,在他们完整地调试玩HTML+CSS+JS之后,我直接通过Renderer.Element引用到窗口中进行管理即可
SuperSaiyan 2009-10-01 21:21
除了jquery外, 其他的全是你做的?
假使如此, 有以下评论:
1. not bad, 对于按你自己说是一个刚毕业不久的人.
2. 但是, 在方向上, 做前端的库, 因为设计到cross browser 问题, 实在是一个工作量非常大的事情, 前端的库已经有很多不错的开源代码可用, 不值得再去花工夫
超SEO 2009-10-01 20:10
JS面向对象太怪了!
shenzhen 2009-10-01 15:21
纯支持下。。
Jake.NET 2009-10-01 08:18
4天就写成这样,很厉害呀。
超级奶崽 2009-10-01 00:57
支持支持
PPBoy 2009-10-01 00:42
很厉害哦`~抢支持下
James.Ying 2009-10-01 00:39
4天时间,不容易,支持你一下
温景良(Jason) 2009-10-01 00:18
呵呵,加油,很好的想法,可怜我的js一直都是没有进展
五味果 2009-10-01 00:17
加油!
期待更完善的版本
Gray Zhang 2009-10-01 00:01
@wysiwyg
第一,不好意思我对这种事不感兴趣,我是纯技术人员,只谈技术……
第二,我是宁波人……
第三,谢谢支持
wysiwyg 2009-10-01 00:00
不错的!一定要继续开发!
wysiwyg 2009-09-30 23:58
http://www.cnblogs.com/jirigala/archive/2009/09/29/1576403.html#commentform
大气象 2009-09-10 18:00
一直没看短信息,不好意思,我的qq:250089661
asukachenfei 2009-07-27 10:34
好东西,谢谢了
Gray Zhang 2009-07-20 21:24
@abc123
对于lifetime的问题,我的建议是使用trasient
trasient指每一次需要的时候创建一个对象
singleton指整个应用程序的生命周期中只有这一个对象,使用该对象答复所有请求
很显然,一般我们的Page不会是线程安全的,而ASP.NET在一个多线程的环境下执行,因此singleton会导致无法预期的问题
关于ascx的注入,自然再写个ScriptHandlerFactory了呵呵
一叶浮萍 2009-07-20 00:33
非常感谢这么快速的回复。哈哈。真是速度快啊
Gray Zhang 2009-07-20 00:30
@一叶浮萍
控件的注入确实是比较难处理的,因为在PageFactory时候,页面中的控件都没有实例化,而要截取控件实例化之后,而又在所有页面生命周期事件之前,就只能写Page的基类,并要求所有的页面继承这个基类了
大致的方法是,重写OnPreInit
protected void OnPreInit(EventArgs e) {
InitializeInjection();
base.OnPreInit(e);
}
private void InitializeInjection() {
foreach (Control control in Controls) {
unityContainer.BuildUp(control, control.GetType());
}
}
这种情况只能使用最基本的注入,其他的如虚方法拦截等注入不能用,因为方法拦截是生成一个当前对象的子类对象,事实上是改变了引用,不能单纯地使用无返回的BuildUp方法了
代码是没有IDE的情况下乱写的,有问题还请原谅
一叶浮萍 2009-07-20 00:28
这样子写的话 有一个配置项就需要写一个convert 配置文件也太罗嗦了吧? 有没有好办法在container节写一个,该节点下所有type都使用这个LifetimeManager 呢?
一叶浮萍 2009-07-20 00:24
/// <summary>
/// 对页面进行注入模块
/// <para>by tangjingbo at 2009/7/20 0:20</para>
/// </summary>
public class UnityModule : IHttpModule
{
void context_PostAcquireRequestState(object sender, EventArgs e)
{
IHttpHandler curHandler = HttpContext.Current.Handler;
if (curHandler != null)
{
ServiceContext.Current.Session.BuildUp(curHandler.GetType(), curHandler);
Page page = curHandler as Page;
if (page != null)
{
// page.Controls
//对页面控件注入
}
}
// HttpContext.Current.Response.Write("aaaaaaaaaa");
}
#region IHttpModule 成员
void IHttpModule.Dispose()
{
}
void IHttpModule.Init(HttpApplication context)
{
context.PostAcquireRequestState += new EventHandler(context_PostAcquireRequestState);
}
#endregion
}
这样可以对页面的属性注入。但页面中控件的注入就找不好的办法了 。不知道是否有什么好技巧?
dytes 2009-07-17 15:17
这种research的精神值得学习啊。希望有天自己也能有这么好的功力。
wangjunfeng 2009-07-07 17:10
为什么同时有UniqueID和ClientID貌似不是因为NamingContainer的原因吧?
aaaaa 2009-06-13 10:54
很不错的想法,但是我在想有必要将“异常管理”和“异常处理”分开吗?
飘过 2009-06-10 11:04
相当的不错
abc123 2009-05-03 03:15
对于.asmx又啥整呢?还需要写个UnityScriptHandlerFactory?
abc123 2009-05-03 02:28
请教楼主:
lifetime能不能设为<lifetime type="transient" /> ?
<lifetime type="singleton" /> 与
<lifetime type="transient" />有什么区别?
stg609 2009-03-18 09:14
原来是这样呀~~总算明白了。
Nick Wang 2009-03-06 17:36
Nick Wang
Cat Chen
Aaron Wu
Gary Zhang
Jeffery Zhao
Terry Lee
…………
airwolf2026 2009-03-06 09:42
讲解的特别的透彻呀.赞一个
Gray Zhang 2009-03-06 08:29
@Nick Wang
@Cat Chen
我也认为这可以说是一个“BUG"或者一个”设计上的失败“,按我的想法,应当判断当前控件是否就绪(即是否连接到控件树的根),如果没有则返回null,只有连上根的情况下才计算ID
Cat Chen 2009-03-06 01:27
这类问题在ASP.NET里面很普遍,整个ASP.NET的底层设计根本就不是正交的,导致上层有很多这些潜在出问题的可能性。
Jaryleely 2009-03-05 22:49
高手就是高手啊!这么精辟啊!
Nick Wang 2009-03-05 22:01
我感觉这更像是一个bug,因为UniqueID和ClientID并不能一直反映最新的状态,当DataGridItem被加入到DataGrid中时,应该重新计算UniqueID和ClientID。
Aaron Wu 2009-03-05 17:00
谢谢你的解释~
RawMan 2009-02-25 08:57
不错的文章