MIS2000 Lab. -- ASP.NET学习&分享 / ASP.NET案例精编(清华大学出版社)
您好,我来自台湾。很高兴与各位分享一些成果。希望对您有帮助。出版书籍是「ASP.NET案例精编 / 清华大学出版社」。

 

很抱歉,这一系列的文章,因为图片比较多。

转贴比较麻烦,所以劳烦您到我的网站去浏览。

实战ASP.NET MVC 1.0 #1,我的第一支MVC程序,展现所有数据(主细表的Master)

http://www.dotblogs.com.tw/mis2000lab/archive/2009/08/10/mvc_1_list_all.aspx



ASP.NET案例精编——适用于VS 2005/2008(配光盘)


实战ASP.NET MVC 1.0 #2,主细表(Master-Detail)的Detail部份

http://www.dotblogs.com.tw/mis2000lab/archive/2009/08/10/mvc_2_detail.aspx.aspx

实战ASP.NET MVC 1.0 #3,新增一笔资料(Create / Add)

http://www.dotblogs.com.tw/mis2000lab/archive/2009/08/12/mvc_3_add.aspx.aspx

这一系列的文章,希望给我的读者作为课后补充。

一本好书,应该有源源不绝的「售后服务」 ---- 我提供许多范例让大家持续的练习与前进。


ASP.NET案例精编(清华大学出版社 / 作者MIS2000Lab)

http://www.china-pub.com/46063 

2009/5/15上市

市场价 :¥59.80 RMB(人民幣)

ASP.NET案例精编--适用于VS2005/2008

   

 ...........................................................................................................................

VS 2008 (SP1)那时的 MVC1.0,与目前 VS 2010内建的 MVC2.0版略有差异

倘若您前三篇文章 (for MVC 1.0)遇见问题,可以参阅底下这篇文章。为您解说以上范例的差异之处。

并且提供范例下载(for VB语法)。

实战ASP.NET MVC #4,将范例修改成MVC 2.0版(Only for VS 2010/ 下集 补充习题)

http://www.dotblogs.com.tw/mis2000lab/archive/2010/05/26/mvc_20_sample_download.aspx

随着 VS 2010与 .NET 4.0上市,内建 MVC 2.0

书本与先前的范例,大致OK。但有些细节需要修改。

 

本范例仅限用在 VS 2010上面


例如:画面(View)的部分,跟 MVC 1.0不同。

        而 /Controllers/HomeController.vb里面,有一列程序代码需要修改。

 

MVC 2.0 for VS 2010 的写法有改变:

------------------------------------------------------------------------------------
 
     ' == 第二个Edit Function,修改完成,确定要在数据表里面更新这笔数据,就会执行这一段。
    ' POST: /Home/Edit/5
    <AcceptVerbs(HttpVerbs.Post)> _
    Function Edit(ByVal testToEditAs test) As ActionResult

            ......省略......

 

            If NotModelState.IsValid Then
               Return View(originaltest)
            End If

 

           '== 重点!! ==
           '== MVC 1.0 for VS 2008 SP1使用的旧语法。         

                 _test_db.ApplyPropertyChanges(originaltest.EntityKey.EntitySetName,testToEdit)


          '== MVC 2.0 for VS 2010 请改写如下:
                 _test_db.ApplyCurrentValues(originaltest.EntityKey.EntitySetName,testToEdit)
                 _test_db.SaveChanges()

 

            ......省略......


    End Function

实战ASP.NET MVC 2.0 #5,删除一笔记录

http://www.dotblogs.com.tw/mis2000lab/archive/2010/10/28/mvc_5_delete.aspx

之前介绍过的三篇文章,建议您阅读之后,再来进行下面的范例。

很多以前介绍过的步骤,我不会再赘述喔。

 

 

以下是采用 .NET 4.0 / VS 2010,MVC版本是 2.0

 

1).  首先,在 /Views/Home目录下,

在 HomeController.vb里面撰写 第一个Delete()function

 

    '*******************************************
    '** 删  除 **
    '*******************************************
    '-- Delete Function,点选这一笔纪录后,传回文章的 id值。先检视内容,确认后才删除。
    '-- GET: /Home/Delete/5
    Function Delete(ByValid As Integer) As ActionResult

        Dim testToDelete = (From m In _test_db.test
                                 Where (m.id = id)
                                 Select m).First()      

        Return View(testToDelete)
    End Function

 

 

 

2).  完成后,新增一个 View画面

      (这个动作,在前面的范例都示范过很多次了。书里面也有)

 

      您可以发现这个 Delete.aspx的画面,原来是一个「删除之前,让您再一次作确认的画面」

      必须按下画面里的Submit」按钮,才会真正进行删除的动作。

 

      这样的流程,跟前面学过的ASP.NET MVC「编辑与更新」、「新增」都一样。

      也就是说: Delete() Function也是要作两次才行!!

 

 

 

3). 让我们回到  /Views/Home目录下,

在 HomeController.vb里面撰写第二个 Delete() function

 

    ' == 第二个 Delete Function,确定要在数据表里面删除这笔数据,就会执行这一段。
    <AcceptVerbs(HttpVerbs.Post)>_
    Function Delete(ByValtestToDelete As test) AsActionResult

        Try

            Dim testToDelete2= (From m In _test_db.test
                                     Where (m.id = testToDelete.id)
                                     Select m).First()


           '== 重点!! ==
           _test_db.DeleteObject(testToDelete2)
           '-- 参考数据:http://msdn.microsoft.com/zh-tw/library/system.data.objects.objectcontext.deleteobject.aspx


           _test_db.SaveChanges()


            ReturnRedirectToAction("Index")  '--Delete成功后,回到首页 Index.aspx

        Catch
            ReturnView()
        End Try
    End Function

 

最后的删除动作,因为 ASP.NETMVC使用了 Entity当作它的「M(Model)」

您可以在上一篇文章中,看到相同的作法。

请参阅:ADO.NET Entity入门的程序 #4(自己动手写)--数据新增、删除、修改(ObkectContext的 .SaveChange()方法)

 

这里有两篇文章,相当有帮助。
您要透过 ASP.NET MVC实作 数据管理(CRUD)各种功能,看了这两篇就对了!

http://ricardodsanchez.com/archive/2009/10/20/crud-operations-with-asp.net-mvc.aspx

http://stephenwalther.com/blog/archive/2009/01/21/asp.net-mvc-tip-46-ndash-donrsquot-use-delete-links-because.aspx

很抱歉,这一系列的文章,因为图片比较多。

转贴比较麻烦,所以劳烦您到我的网站去浏览。

我的网站,关于 ASP.NET MVC文章都收录在此,

http://www.dotblogs.com.tw/mis2000lab/Tags/MVC/default.aspx

posted on 2010-10-28 16:45  MIS2000 Lab.  阅读(348)  评论(0编辑  收藏  举报


ASP.NET案例精编——适用于VS 2005/2008(配光盘)
 

当当网购买 http://product.dangdang.com/product.aspx?product_id=20583373&ref=search-1-pub