asp.net mvc控制器 - 查看逻辑

时间:2011-01-17 20:03:49

标签: asp.net-mvc

我正在尝试学习asp.net mvc。我曾与MS发布过的大部分样本合作过。

大部分样本都与CRUD有关。

我非常擅长使用网络表单,但现在我有点想念旧的简单世界。

但是,我的问题是:我有一个与订单相关的详细信息页面,我的订单详细信息一直很好。我的订单细节线有点工作。但现在我想用这个订单做不同的事情,比如添加更多订单行,用按钮更改订单状态,通过电子邮件发送订单等等。在webforms中,我刚刚在click事件中添加了事件处理程序,但是这里......我需要多个表单吗?如果有人想通过点击按钮更改orderstatus,我如何制作服务器端代码?

3 个答案:

答案 0 :(得分:2)

您好我可以向您推荐Stephen Sanderson的书Pro ASP.NET MVC 2 Framework

答案 1 :(得分:0)

我建议您浏览整个NerdDinner教程。 但要回答你的问题: asp.net MVC中确实没有表单。有视图,显示您的订单,并有控制器/操作,允许您运行代码生成视图,更新您的数据库等。您问是否需要另一个表单 - 答案是否。但是,您将需要至少在控制器上有一个新动作,可能还有一个新视图来确认订单已被更改。对非常简化的解决方案的概述将是:

您希望通过单击按钮将订单标记为已关闭。假设您有一个名为Order的控制器,以及一个名为Details的视图(在订单视图文件夹中)。您必须添加一个操作,该操作将整数作为参数传递给名为“关闭”的订单控制器。在该操作中,您将读取整数参数(订单ID)并执行代码以将该特定订单更新为已关闭。您可能希望从此操作返回具有udpated状态的相同视图。您必须在视图中添加一个链接(可能使用HTML.ActionLink函数)来调用此新操作。

答案 2 :(得分:0)

在MVC中,一切都是Post和Get动作。您可以发布到差异控制器。看来你需要花更多的时间来阅读它。如果您不喜欢阅读 - 请为初学者尝试一些不错的视频教程。 http://www.asp.net/mvc