从php转过来,这几天用asp.net做了一个简单的新闻发布,有一些疑问
望达人解答,这样效率高些,可能比较低级,嘿嘿
1. 模板技术,也没有类似smarty的模板技术,master template感觉定制性/协作性都差些
想看有没有美工html页面拿来方便直接用的
2. 数据绑定格式,通常都是取下数据直接绑定到控件。但是不方便精确控制
比如我用一个DataList,设置每行的ItemTemplate后,居然自动生成一堆table/td
假如我要用标准html的ul/dl显示之呢?还是我选的控件不对?
拉个requireValidator,结果也是自动生成几个js,还不如自己做JS formValidate
3. 也是2的问题,如果自己定义一堆DataSet,不使用控件,而自己循环赋值,如何?
貌似不大常见,不知效率如何,而且aspx里写页面赋值还挺麻烦的
4. 编译过的页面,是怎么缓存的
比如lmsg.aspx,每个人session不同,页面内容不同,是否每人读取都需要重新编译过?
另外貌似图片也会缓存?服务端图片换掉后刷新aspx页面图片还是旧的
5. 分页效率。貌似默认分页都是先读取全部数据,再设置分页的
这个。。有点奢侈了吧,得多费IO/内存啊
问下如何才能分段读取数据,类似mysql的limit offset先谢了

解决方案 »

  1.   

    模板技术 
    数据绑定格式 用repeater 循环 li
    如果自己定义一堆DataSet,不使用控件,而自己循环赋值,如何 直接response.write()
    编译过的页面,是怎么缓存的 cache outputcache
    分页效率 通用数据库分页
      

  2.   

    从php转过来,这几天用asp.net做了一个简单的新闻发布,有一些疑问 
    望达人解答,这样效率高些,可能比较低级,嘿嘿 
    1. 模板技术,也没有类似smarty的模板技术,master template感觉定制性/协作性都差些 
    想看有没有美工html页面拿来方便直接用的用MVC框架做
     
    2. 数据绑定格式,通常都是取下数据直接绑定到控件。但是不方便精确控制 
    比如我用一个DataList,设置每行的ItemTemplate后,居然自动生成一堆table/td 
    假如我要用标准html的ul/dl显示之呢?还是我选的控件不对? 
    拉个requireValidator,结果也是自动生成几个js,还不如自己做JS formValidate 用reapter,repeater不自己生成代码,你自己就可以精确控制html了3. 也是2的问题,如果自己定义一堆DataSet,不使用控件,而自己循环赋值,如何? 
    貌似不大常见,不知效率如何,而且aspx里写页面赋值还挺麻烦的 循环赋值不划算了,不如用repeater直接绑定4. 编译过的页面,是怎么缓存的 
    比如lmsg.aspx,每个人session不同,页面内容不同,是否每人读取都需要重新编译过? 
    另外貌似图片也会缓存?服务端图片换掉后刷新aspx页面图片还是旧的 你可以设置加载时nocache的,php也有这个的吧,编译一次就不再编译了,不是每人读取都编译5. 分页效率。貌似默认分页都是先读取全部数据,再设置分页的 
    这个。。有点奢侈了吧,得多费IO/内存啊 
    问下如何才能分段读取数据,类似mysql的limit offset 可以自定义分页
      

  3.   

    推荐DotNetNuke...
    很强大的CMS
    详情谷歌~
      

  4.   

    为什么要用asp.net呢?楼主的思维方式用php就够了啊,别用asp.net。
      

  5.   

    asp.net更适合给那些习惯了类似Winform那种微软风格开发者使用。它倾向于开发界面组件,包括自己把小型应用程序开发为用户控件,然后逐一用鼠标拖到页面上布局。它倾向于事件驱动方式控制程序流程。它倾向于使用抽象的不断深化的框架,来实现后台管理功能。
      

  6.   

    例如有人总是问能不能读入一个html文件然后替换其中的字符串,实际上这在asp.net里边根本没有会作为Demo来写这么低级的程序,不过我还是这里写一次吧:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>
            <%= GetTitle() %></title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <%= GetContent1() %>
            <br />
            <input type="text" value="<%= GetContent2() %>" />
        </div>
        </form>
    </body>
    </html>public partial class _Default : System.Web.UI.Page
    {
        protected string GetTitle()
        {
            return "不值一晒的所谓模板替换";
        }    protected string GetContent1()
        {
            return "内容1";
        }    protected string GetContent2()
        {
            return "内容2";
        }
    }这在asp,甚至追述到13年前发布的vb5、vb6,其网页编程功能中已经有了html模板替换功能。
      

  7.   

    嗯是,事件驱动是个很大的不同
    抽象化层次要高一些,但是默认的封装程度也高
    傻瓜是够傻瓜了, 托个dataSource就可以直接绑定到数据,甚至不用代码
    势必也丧失一些扩展和定制的便捷性,包括在ui/script这边这几天的感觉是自己做网站,肯定用php,可以完全定制;
    做项目用asp.net,尤其是企业项目,简直太方便了。
    继续钻研ing,感谢seesea125 和 sp1234两位的提点,过两天来给分~
      

  8.   


    这种感觉是“这几天”的,日子久了,就不一样了,呵呵。到时你会发现asp.net没你想象的那样方便——如果你没有深入理解的话;而当你深入理解了之后,你又会觉得asp.net其实是“完全可以定制的”
      

  9.   

    为什么好好的PHP放着不做转过来做ASP,NET 呢? 是什么吸引了你?