实战ASP.NET MVC 1.0 #3,新增一笔资料(Create / Add)
http://www.dotblogs.com.tw/mis2000lab/archive/2009/08/12/mvc_3_add.aspx.aspx
完成了前面两个范例,能做出简单的主细表(Master-Details)
这个范例,我们将要尝试着「新增一笔数据」到数据库里面。
这次的范例,是从 http://www.asp.net/learn/mvc/tutorial-21-vb.aspx 这个范例小改而来。
如果以下说明,尚有不详细的地方,建议您以原厂文件为准。
因为微软的教学范例,在这个功能上,漏了两个重点,
唯恐各位跟著作,却无法新增数据??
所以小弟狗尾续貂,来作一点小小补充
...........................................................................................................................................................................
延续前两篇文章的范例:
1. 在 /controller目录底下,打开 HomeController.vb档案。撰写以下程序
' 第一个Create Function,新增一笔资料的画面,没有参数
' GET: /Home/Create
Function Create() As ActionResult
Return View()
End Function
' == 第二个Create Function,新增一笔并且回写数据库
' POST: /Home/Create
<AcceptVerbs(HttpVerbs.Post)> _
Function Create(<Bind(Exclude:="id")> ByVal testToCreateAs test) As ActionResult
'--重点!!这一行 <Bind(Exclude:="id")>很重要,把testTable里面自动编号的id字段,排除在外!!
Try
If NotModelState.IsValid Then
Return View()
End If
'== 重点!! ==
_test_db.AddTotest(testToCreate)
_test_db.SaveChanges()
ReturnRedirectToAction("Index") '--新增一笔数据以后,要重新导向回到 Index.aspx
Catch
ReturnView()
End Try
End Function
2. 产生相关的 View。
请用鼠标点选 HomeController.vb档案里面的 Create(),
按下鼠标右键,选择「AddView」
就会自动产生一个 /Views/Home目录下的 Create.aspx画面,完全不用动手作。
重点来了,请您把 id字段那一小段,手动删除之。
因为我们 testTable里面的 id字段,设定为P.K. ,所以也让他自动编号。
我们不需要在新增一笔数据时,为 id字段填入任何的值!
完成以后,您可以试试看.......................................................
.......................................................
.......................................................
想要新增一笔数据, 还 是 不 会 运 作.......................................................WHY??
请回到一开始的 ADO.NETEntity设定画面 (在本系列的第一篇文章)
底下的画面,要稍作修改。才能正常运作。
这次的范例,是从 http://www.asp.net/learn/mvc/tutorial-21-vb.aspx 这个范例小改而来。
原厂的教学文章,有两个地方不清楚。分别是 Create() 与Details()两个功能,缺乏或是细节没提醒初学者
小弟分别在上一篇文章、本文之中,
补充这些失落的段落,希望对大家有帮助。
我的网站,关于 ASP.NET MVC文章都收录在此,
实战ASP.NET MVC 1.0 #1,我的第一支MVC程序,展现所有数据(主细表的Master) (2010-11-02 13:09)
实战ASP.NET MVC 1.0 #2,主细表(Master-Detail)的Detail部份 (2010-11-02 13:14)
实战ASP.NET MVC 1.0 #3,新增一笔资料(Create / Add)(2010-11-02 13:20)
实战ASP.NET MVC #4,将范例修改成MVC 2.0版(Onlyfor VS 2010) (2010-11-02 13:25)
实战ASP.NETMVC 2.0 #5,删除一笔记录(2010-11-02 13:30)
....................................................................................................寄信给我 mis2000lab (at)雅虎.com.台湾 ........
ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)
http://www.china-pub.com/46063
2009/5/15上市
市场价 :¥59.80 RMB(人民幣)