当前位置:编程学习 > C#/ASP.NET >>

想用asp.net实现类似吾志的功能,该怎么做?

一个页面分布几十张图,图片都是用户的头像,点击图片进去后是该用户的个人页面。一个用户刚发完日志后就会出现在首页上 --------------------编程问答-------------------- 我只能给你一个大概的示意。

比如说画布被分割为m行列的网格,每一个(矩形)图片占有一个或者多个网格。假设我们用
public class 网格
{
    public int 行;
    public int 列;
    public bool 是否被占;
}
来描述单个网格,而用
List<网格> canvas;
来描述画布。

假设要从画布上找出一个可以容纳m行n列的空间,大致可以写:
var 目标位置 = (from lt in canvas
            from i in Enumerable.Range(lt.行, m)
            from j in Enumerable.Range(lt.列, n)
            let cell = canvas.FirstOrDefault(c => c.行 == i && c.列 == j)
            where cell != null && cell.是否被占 == false
            select lt).First();
实际上如果你需要排序,例如距离0行0列越近的空间优先级越高,那么还可以在select之前加上一个order by语句。

学会linq吧。不然许多程序员会再将来被一些软件公司作为“算法傻瓜”而看待来的。 --------------------编程问答-------------------- 比如说画布被分割为m行列的网格  -->  比如说画布被分割为“行列”的网格 --------------------编程问答-------------------- 每当要向画布放入一个m行n列的图片(例如windows8的“磁贴”那种布局),使用上诉一行语句计算出“目标位置”,这就是要放置图片的左上角的网格坐标。然后把图片放到实际的画布的这个坐标位置,并且在canvas中将这个m行n列所遮盖的网格
    foreach(var cell in from i in Enumerable.Range(lt.行, m) 
                       from j in Enumerable.Range(lt.列, n)
                       select canvas.First(c=>c.行==i && c.列==j))
   {  
       .........
   }
设置上“被占用”的标记防止以后被覆盖。

--------------------编程问答-------------------- 一个用户刚发完微博就显示出来可以使用ajax无刷新更新,配合滚动。 --------------------编程问答-------------------- 一个页面分布几十张图,图片都是用户的头像 ->可以去看看JQ瀑布流

一个用户刚发完日志后就会出现在首页上 ->这个具体看你流量了。一般ajax 处理会好些 --------------------编程问答-------------------- --------------------编程问答-------------------- 瀑布流布局,请参考http://www.school51.com/Sell/guang.aspx;这里是官网demo:http://masonry.desandro.com
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,