哈哈。四个月开发完一个门户,基于自定义控件的原理,表现了.NET的精华
www.2010cz.com 大家也可以看下`。给点意见 --------------------编程问答-------------------- 是自己独立开发的吗,不错啊 --------------------编程问答-------------------- 不错。不错,感觉排版需要改进 --------------------编程问答-------------------- 就我1个人呢``呵呵`。。。。。累死,1天当两天用, --------------------编程问答--------------------厉害. --------------------编程问答-------------------- 拿程序改的?还是原创程序?
要是原创你真高产! --------------------编程问答-------------------- 支持下
不过打开速度太慢了 --------------------编程问答-------------------- 厉害 --------------------编程问答-------------------- 最原始的开发模式 --------------------编程问答-------------------- 原创?是的话,4个月效率很高了 --------------------编程问答--------------------
这话怎么说`?? --------------------编程问答-------------------- 精华在哪? --------------------编程问答-------------------- 不错噢 ..... --------------------编程问答-------------------- 怎么那么多垃圾代码。。带有垃圾代码的网站都是菜鸟写的。。
你没看那些大网站吗?
包括csdn,都没有 --------------------编程问答-------------------- lz结帖率:9.00%
总发帖:100
正常结贴:9
未结贴:91
......................... --------------------编程问答-------------------- 太卡了,不过有钱途 --------------------编程问答--------------------
在这里:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/+/oi4/+gUTL0NvbXBhbnlCYXNlLzUuYXNweGRkAgYPZBYCAgEPDxYEHwIFDOaUtui0ueagh+WHhh8GBRMvQ29tcGFueUJhc2UvNi5hc3B4ZGQCRw9kFgJmD2QWAgIBDxYCHwQCAxYGZg9kFgICAQ8WAh8CBbABPGEgaHJlZj0iaHR0cDovL3dwYS5xcS5jb20vbXNncmQ/Vj0xJlVpbj04MzgzNTMxNzImU2l0ZT3nmb7luqbnn6XpgZMmTWVudT15ZXMiIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL3dwYS5xcS5jb20vcGE/cD0xOjgzODM1MzE3Mjo0IiBib3JkZXI9IjAiIGFsdD0iUVEiIC8+5LyN5YukPC9hPiBkAgEPZBYCAgEPFgIfAgWyATxhIGhyZWY9Imh0dHA6Ly93cGEucXEuY29tL21zZ3JkP1Y9MSZVaW49MTMzMjIxMzM1NiZTaXRlPeeZvuW6puefpemBkyZNZW51PXllcyIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJodHRwOi8vd3BhLnFxLmNvbS9wYT9wPTE6MTMzMjIxMzM1Njo0IiBib3JkZXI9IjAiIGFsdD0iUVEiIC8+5a6i5pyNPC9hPiBkAgIPZBYCAgEPFgIfAgW8ATxhIGhyZWY9Imh0dHA6Ly93cGEucXEuY29tL21zZ3JkP1Y9MSZVaW49ODM4NTY4MDE4JlNpdGU955m+5bqm55+l6YGTJk1lbnU9eWVzIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6Ly93cGEucXEuY29tL3BhP3A9MTo4Mzg1NjgwMTg6NCIgYm9yZGVyPSIwIiBhbHQ9IlFRIiAvPumVv+aymei/kOiQpeS4reW/gzwvYT4gZGRdlJMB799dzECDJ6unhV/f7IFzeg==" />
--------------------编程问答-------------------- 点一下刷新一下 用户操作不爽 --------------------编程问答-------------------- 界面上一般情况。。。呵呵。。 --------------------编程问答--------------------
这个说法似乎有点思路,就看楼主有没有注意到了,重点在于组合,旅游网站... --------------------编程问答-------------------- 还不错 支持下! --------------------编程问答--------------------
精华在于全部是自定义控件,,,,,并没有用。NET自带的控件,,全部是自定义的。
我认为.NET的精华就在于控件 --------------------编程问答--------------------
无刷新技术不能很追捧,网站内的商户会员都做了,但前台没有做,也不可能做 --------------------编程问答--------------------
www.hishop.com.cn 你能说他们公司的团队是菜鸟吗,有本事拿着他们的源码,看看!!!这说明,你不懂自定义控件。 --------------------编程问答-------------------- http://www.2010cz.com/BoxOrder.html
========================
看看你这一堆的viewstate,还有你的145k页面尺寸,不知道访问量大时,效果会怎么样?不过做成这样很不错了! --------------------编程问答--------------------
using System;--------------------编程问答-------------------- sp的代码是什么意思?没看大懂。。。呵呵 --------------------编程问答-------------------- 你哪站长公告刷得也太快了吧...败笔啊!! --------------------编程问答-------------------- 每天回帖即可获得10分可用分! --------------------编程问答--------------------
using System.IO;
using System.Linq;
using System.Runtime.Serialization.Formatters.Binary;
using System.Web.UI;
public class VPage : Page
{
static private DirectoryInfo _Dir;
private static DirectoryInfo Dir
{
get
{
if (_Dir == null)
{
_Dir = new DirectoryInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "App_Data"));
if (!_Dir.Exists)
_Dir.Create();
_Dir = new DirectoryInfo(Path.Combine(_Dir.FullName, "ViewState"));
if (!_Dir.Exists)
_Dir.Create();
}
return _Dir;
}
}
protected override object LoadPageStateFromPersistenceMedium()
{
PageStatePersister ps = this.PageStatePersister;
ps.Load();
if (ps.ControlState != null)
ps.ControlState = 反序列化对象((string)ps.ControlState);
if (ps.ViewState != null)
ps.ViewState = 反序列化对象((string)ps.ViewState);
return new Pair(ps.ControlState, ps.ViewState);
}
protected override void SavePageStateToPersistenceMedium(object state)
{
PageStatePersister ps = this.PageStatePersister;
if (state is Pair)
{
ps.ControlState = ((Pair)state).First;
ps.ViewState = ((Pair)state).Second;
}
else
ps.ViewState = state;
if (ps.ControlState != null)
ps.ControlState = 序列化对象(ps.ControlState);
if (ps.ViewState != null)
ps.ViewState = 序列化对象(ps.ViewState);
ps.Save();
}
private object 反序列化对象(string stateID)
{
if (stateID == null)
return null;
object state = Cache[stateID];
string fname = Path.Combine(Dir.FullName, stateID);
if (state == null)
using (var stream = File.OpenRead(fname))
state = new BinaryFormatter().Deserialize(stream);
this.Page.SaveStateComplete += (s, e) => //当发生异常时,此方法不会执行,因此可以保证不会误删ViewState文件
{
Cache.Remove(stateID);
File.Delete(fname); //这个方法恰好可以禁止浏览器端的“刷新”。
};
return state;
}
static long seed1 = DateTime.Now.Ticks;
static ulong seed2 = 0;
static object lockflag = new object();
private string 序列化对象(object obj)
{
lock (lockflag)
{
string stateID = seed1.ToString() + "_" + (seed2++).ToString();
Cache.Insert(stateID, obj, null, DateTime.Now.AddMinutes(5), TimeSpan.Zero);
var stream = new MemoryStream();
new BinaryFormatter().Serialize(stream, obj);
File.WriteAllBytes(Path.Combine(Dir.FullName, stateID), stream.ToArray());
return stateID;
}
}
static VPage()
{
var et = DateTime.Now.AddMinutes(-30);
Dir.GetFiles()
.Where(f => f.LastAccessTime < et)
.ToList()
.ForEach(f =>
{
try
{
f.Delete();
}
catch { }
});
}
}
--------------------编程问答-------------------- 个人认为,服务器控件能不用尽量别用~ --------------------编程问答-------------------- 不过打开速度太慢了
--------------------编程问答-------------------- 界面还挺好看的,也是楼主原创的吗 --------------------编程问答-------------------- 控件是.net精华…………
不愧是精华,速度好快
--------------------编程问答-------------------- 本来想用DZ的多线程,但发现没有必要,这是基于.NET的控件开发原理.... --------------------编程问答-------------------- http://demo.92hi.com/ 这个网站怎么样呢。原理是一样的 --------------------编程问答-------------------- 四个月的时间能做成这样不错了,很佩服。
补充:.NET技术 , 非技术区