惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Secure Thoughts
罗磊的独立博客
T
The Blog of Author Tim Ferriss
人人都是产品经理
人人都是产品经理
博客园 - 叶小钗
Last Week in AI
Last Week in AI
美团技术团队
Google Online Security Blog
Google Online Security Blog
Application and Cybersecurity Blog
Application and Cybersecurity Blog
D
Docker
G
Google Developers Blog
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件
月光博客
月光博客
L
LINUX DO - 最新话题
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
W
WeLiveSecurity
H
Heimdal Security Blog
Vercel News
Vercel News
SecWiki News
SecWiki News
Forbes - Security
Forbes - Security
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
www.infosecurity-magazine.com
www.infosecurity-magazine.com
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
A
About on SuperTechFans
C
Check Point Blog
S
Security Affairs
Hacker News - Newest:
Hacker News - Newest: "LLM"
AI
AI
WordPress大学
WordPress大学
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Help Net Security
Help Net Security
博客园_首页
The Last Watchdog
The Last Watchdog
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Engineering at Meta
Engineering at Meta
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
I
Intezer
K
Kaspersky official blog
M
MIT News - Artificial intelligence
J
Java Code Geeks
G
GRAHAM CLULEY
P
Palo Alto Networks Blog

博客园 - Kevin Lin

Happy New Year! HTTP状态码大全 [转]jquery的一个模板引擎-zt - Kevin Lin - 博客园 2009年3月 2008年9月-10月 跟ASP.NET MVC一起使用jQuery [摘自千寻网]给鼠标右键增加“见好就收”的功能 ASP.NET 2.0中的URL映射 在.net中使用Gmail发送邮件 [绝对原创]从VS2003(.net1.1)升级到vs2005(.net2.0)全程跟踪记录 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二 2008年4月-5月 使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之一 XNA Game Studio 2.0 Released版 发布了,好像是前几天的事,但园子里似乎没有讯息嘛 向大家推荐一个不错的休闲游戏 VS2003(.net framework1.1)中,如果让日历控件的“星期”去掉? 农历js脚本 - Kevin Lin - 博客园 WEB开发碰到的问题及经验十八则 - Kevin Lin - 博客园 根据分辨率不同调用不同的css文件 - Kevin Lin - 博客园
使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之三
Kevin Lin · 2008-05-06 · via 博客园 - Kevin Lin

[前言]上个月,我提交了两篇同系列的文章:
使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之一   (简称“之一”)
使用Asp.net mvc + Linq + mvc_scaffold_gen_setup.exe 生成一个完整的家庭帐册大管家程序 之二   (简称“之二”)
时隔3个礼拜,终于又可以记录点滴心得,这个时候往往是最开心的,一种收获的感觉,不为别的,借此机会理理思路,给自己找个不玩游戏的理由……
      这三个礼拜过的很不一般,白天要上班,晚上回来难的有点时间打开程序写写,又不熟悉,进展很慢,资料也少。周末一边忙着看火箭比赛,一边抓紧睡懒觉,同学约我出去k歌,还要想好不去的理由。上上周末,部门组织去扬州旅游,吃了干丝、狮子头,扬州炒饭当然也少不了,玩了瘦西湖和何园,很开心,和同事在一起比较放松,来回车上大家在一起打牌、玩杀人游戏,不亦悦乎。与其说是玩,不如说是增进同事之间的感觉吧。可惜的是,大学同宿舍的扬州同学失去联系,没见上一面,在这里祝他一切顺利!对了,记得dudu是扬州人,在扬州的那个夜晚,我还去网吧了,打开博客园的时候,还真的想到dudu……
      说到工作,这几天忙着给项目升级,从.net1.1升级到2.0,很烦很无奈,没什么经验,进度很慢,错误很多,改得很辛苦,下次整理一下,我把经验心得拿出来和大家分享。
      废话不说了,进入正题。
[正文]
      记得在“之二”文章末尾,我留了三个问题

之二留下的问题1)页面上使用的服务器端控件Reapter,在CodeFile中居然必须声明,否则无法识别,为什么会这样?所有服务器控件都必须声明,我之前看的一个例子就没有,怎么回事?麻烦各位帮我找找原因。
    [2008.04.17晚回答]在解决方案上右键——>Convert to Web Applications就可以把解决方案变成Web Application的形式。这一个Convert其实就是给每个页面(比如Test.aspx)增加对应的Test.designer.cs的文件,然后页面上的控件的声明全部放在这里。其实这个答案应该早就想到,只是太专注于MVC,反而忘了根本的web Application文件结构。
    2)在修改之前的页面代码中的foreach语句,可以使用<%=Html.ActionLink("Edit","Edit",new {id = item.ChildClassID})%>来很方便很直接地放置一个Edit链接,链接地址是ChildClass/Edit/[ChildClassID],
    现在问题是,我使用了Reapter控件直接绑定数据源之后,怎样才可以类似<%=Html.ActionLink("Edit","Edit",new {id = item.ChildClassID})%>这样的写法,直接生成一个Edit的链接呢?疑惑在于,在Reapter中无法把[ChildClassID]传到<%=Html.ActionLink("Edit", "Edit", ……)%>中的"……"中。
    解决方法是:用new {id = Eval("ChildClassID")}来代替其中item.ChildClassID
    3)2008.04.17补充一个问题:显示ChildClass信息的时候,由于Model.ChildClassInfo中仅有PrimaryClassID属性 ,但如果要显示出PrimaryClassID对应的PrimaryClassName,那该如何实现?在Model.ChildClassInfo中增加PrimaryClassName属性??还是在Controllers中进行匹配?补充:这其实是类设计的范畴,和mvc没多大关系的。

    问题一已经解决,Convert to Web Applications即可。
    问题二已经解决,用new {id = Eval("ChildClassID")} 来代替其中的item.ChildClassID即可
    问题三也已经解决,详细方法可以参考本文末提供下载的Demo中Model/ClassViewData.cs这个文件中的代码,独立构造用List、New、Edit的复杂实体类。

[功能介绍]
    下面说说本次发布的程序中的功能点:
全部功能(参见“之二”中的“业务介绍”)都可以使用了,支出、收入、借出等都比较好理解。
转账是在两个账户之间的金额移动,这个也比较好理解。关于账户,之前忘了加上金额这个字段,这次补上了,可参考本次提供下载的最新的数据库脚本,增加了2个字段。
别的也没什么说的,只是自己后来还手动添加了一个Linq表达式,用于分别获取属于“收入”的子类和属于“支出”的子类,因为Linq to classes这个生成的代码没有提供类似功能。
    大家可以注意下Model/ClassViewData.cs中的实体类构成,基本上Edit、List、New等功能都是直接和这几个实体类关联,可以说是VO吧,不知道概念有没有用错。
    另外,至于程序中的几个delete操作的做法,我们先不管业务上是否正确合理,暂时为了方便,姑且如此吧。其实我更想加个字段Isvalid,Delete操作仅仅更改该字段Isvalid为0,但是,懒得改了...还有,程序中几乎没有验证数据有效性等功能。

[心得总结]
    关于这次的帐册程序的想法,我先是列出了功能点,然后建库,但是依然有点缺漏,中间加了两次字段,只能说是自己需求没有整理清楚。每次修改数据库,是很麻烦也极其不推荐的一件事,特别是像这样使用Linq to classes的类来生成ORM代码,还要重新添加一遍dbml文件。还有,我习惯给每个实体类命名为“[数据库中的名字]Info”,但是每次生成dbml的时候,Model类都被改变,幸好有VS的重构功能,修改n个地方即可,n等于数据表的个数……
[结束语]
    也不知道再写些什么,最近比较犯困,哈欠不断,不说了,传上程序和脚本再说。有问题不明白的可以回复在下面,我尽力回答。希望大家多提点意见,一方面学习下mvc,另一方面也为这个家庭帐册发展得更好。对了,我打算给它增加“理财计划”等类似功能。
[资料下载]
最新程序下载:AccountBook0506_newest.rar
最新数据库脚本下载:AccountBookDB0506_newest.rar
(便于区别,之二中提供的两个下载文件,暂时不删除。)
[信息反馈]
    ……