用asp.net做模块化开发的几个疑问
从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
先谢了 --------------------编程问答-------------------- 模板技术 。。。
数据绑定格式 用repeater 循环 li
如果自己定义一堆DataSet,不使用控件,而自己循环赋值,如何 直接response.write()
编译过的页面,是怎么缓存的 cache outputcache
分页效率 通用数据库分页。。。 --------------------编程问答-------------------- BD。。。。。。。。。。。。。 --------------------编程问答-------------------- 从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
可以自定义分页
--------------------编程问答-------------------- 推荐DotNetNuke...
很强大的CMS
详情谷歌~ --------------------编程问答-------------------- 为什么要用asp.net呢?楼主的思维方式用php就够了啊,别用asp.net。 --------------------编程问答-------------------- asp.net更适合给那些习惯了类似Winform那种微软风格开发者使用。它倾向于开发界面组件,包括自己把小型应用程序开发为用户控件,然后逐一用鼠标拖到页面上布局。它倾向于事件驱动方式控制程序流程。它倾向于使用抽象的不断深化的框架,来实现后台管理功能。 --------------------编程问答-------------------- 例如有人总是问能不能读入一个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模板替换功能。 --------------------编程问答-------------------- 有些技术太古老了,都被淡化了
如果一开始就接触的是高级语言,那么就要去翻历史了
微软的想法就是尽量使基本编程傻瓜化(高端编程除外)
因为通用,所以繁琐
--------------------编程问答--------------------
嗯是,事件驱动是个很大的不同
抽象化层次要高一些,但是默认的封装程度也高
傻瓜是够傻瓜了, 托个dataSource就可以直接绑定到数据,甚至不用代码
势必也丧失一些扩展和定制的便捷性,包括在ui/script这边
这几天的感觉是自己做网站,肯定用php,可以完全定制;
做项目用asp.net,尤其是企业项目,简直太方便了。
继续钻研ing,感谢seesea125 和 sp1234两位的提点,过两天来给分~ --------------------编程问答--------------------
这种感觉是“这几天”的,日子久了,就不一样了,呵呵。到时你会发现asp.net没你想象的那样方便——如果你没有深入理解的话;而当你深入理解了之后,你又会觉得asp.net其实是“完全可以定制的” --------------------编程问答-------------------- 为什么好好的PHP放着不做转过来做ASP,NET 呢? 是什么吸引了你? --------------------编程问答-------------------- 能力啊能力,天下武功无奇不有,唯快不破。武功·你可以随便 但不能不够快,
补充:.NET技术 , ASP.NET