• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

地位尴尬的WebForm、ASP.NET核心知识(10)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

WebForm之烦恼

1.winform式的开发方式

     

        WebForm的开发方式中,只需要从工具箱中拖拽一个控件,再从.aspx.cs中写控件的事件逻辑,就好了。

微软为我们做了很多工作,很多东西不需要我们了解。微软貌似想把网站开发变得跟Winform开发一致。

但是开发人员不了解运行机制,真的好吗?

2.ViewState

 

Webform为了保存一些页面的状态信息,用了一个<input type =“hidden”>。 别人告诉我这个叫ViewState。

ViewState让html变得异常“丑陋”。

WebForm的弊端

1.入门容易,开发很难

        方便、快捷的服务器端控件,在让我们享受简便的同时,也给我们带来的无穷的烦恼。如果只是拖控件,初学者上手很容易。但这之后因为很多东西封装太强,很多底层东西让我们初学者不是很明白,想再提升很难了。

2.控制不灵活

        对于页面的数据的呈现方式,一遍人很难控制。

3.ViewState处理

        这种机制,的确让开发变得简单了。但是同样它也让html变得异常臃肿、丑陋。

4.异步请求

        异步请求每个请求后台都不许有一个一般处理程序对应。

5.容易变傻

        WebForm的开发方式,跟传统的Web开发方式不一致。传统web开发必须了解的东西,这里很多都不需要了解,例如http协议,ajax,javascript等等。。。总之,控件很丰富,不需要你了解太多。   

推荐轻量的使用WebForm

        这条其实挺纠结地,既然吐槽了WebForm这么多,干么还要用呢?直接不用不就得了。

        我的理解是这样的:首先,对于.NET开发,很多人第一反应还是WebForm(尽管他们可能不用这个,这种思维挺怪的。)就像街头卖艺这个行当,行内人都知道“胸口碎大石”是假把式。但是作为卖艺人,如果跟人说,我不会“胸口碎大石”,多少还有点羞于启齿。其次呢,很多时候开发时候什么技术,不是由我们决定的。万一前面有webForm开发的程序,不会改也不太好。 所以我的建议是,还是要略懂一点。注意略懂即可。

1. aspx页面

这里说是要,推荐一种轻量的使用WebForm的方式。 这个案例中 仅仅做一个列表功能吧。  

/* 在aspx文件中,其实是支持html和代码混编的这种方式的。
    尽管你肯能觉得他很乱,但webform下不失为一种说得过去的解决方案。
*/ 
<table> 
        <thead> 
            <tr><th>姓名</th><th>年龄</th><th>性别</th><th>编辑</th></tr> 
        </thead> 
        <tbody> 
        <%for(int i=0;i<persons.Rows.Count;i++){ 
             System.Data.DataRow row = persons.Rows[i];             
        %> 
        <tr><td><%=row["Name"] %></td><td><%=row["Age"] %></td><td><%bool gender = (bool)row["Gender"];Response.Write(gender?"":""); %></td><td><a href="PersonAddNewEdit.aspx?action=edit&id=<%=row["Id"] %>">编辑</a></td></tr> 
    <%} %> 
         </tbody> 
</table>

2.aspx.cs文件

//Model:不知道自己如何被显示,也不知道是如何被查询出来
        protected DataTable persons;
        protected void Page_Load(object sender, EventArgs e) 
        { 
            //查询数据,把数据放到Model,也不知道数据是如何展现的
            persons = SqlHelper.ExecuteQuery("select * from T_Persons");
        }

 



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net控件使用系列——detailview发布时间:2022-07-10
下一篇:
ASP.NETEval四种绑定方式发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap