我是mvc,mvp或者你想称之为的新手。现在我尝试实现一个ReservationController
,用户首先选择一个日期,然后获取一个合适的时间建议列表。您应该知道,建议取决于所选日期。这是我的问题/问题开始的地方。我应该:
1)在View界面中放置一个事件,如DateChanged
,然后在控制器中订阅它?
2)当所选日期发生变化时,从我的asp页面调用控制器上的UpdateSuggestions
。 (然后我必须公开控制器方法)
或者
3)更新控制器构造函数中的建议。
关心和请求帮助
埃里克
答案 0 :(得分:7)
您需要摆脱驱动ASP.NET Web表单的控制事件思维框架。虽然从技术上讲可以通过这种方式完成任务,但我建议采用不同的方式。
您需要将视图返回给用户,以便他们在表单中输入日期。然后,他们将表单发布回服务器,另一个操作方法处理此帖子。此方法获取时间建议列表,并返回以这些时间为模型的视图。
在这里看看有关MVC基础知识的一些不错的视频:http://www.asp.net/mvc
答案 1 :(得分:1)
以下是ASP.Net MVC的一些很好的例子,对于刚刚入门的人来说,这是一个很好的阅读。
http://www.asp.net/mvc/tutorials/getting-started-with-mvc3-part1-cs
这两个样本包含了一步一步创建MVC项目的书籍:
http://nerddinner.codeplex.com/
http://www.asp.net/mvc/samples/mvc-music-store
这可能无法直接回答您的问题但是,通过这些示例应该有助于明确MVC如何工作,特别是如何在ASP.Net中使用它。 : - )
这里还有关于MVC模式的一些背景知识。
http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
答案 2 :(得分:0)
我认为你误解了MVC是如何工作的。
如果您不清楚MVC如何运作,那么值得查看nerd dinner和Scott Gu's blog之类的内容。
您可以将日期链接到下面的操作来处理:
[HttpGet]
public ActionResult YourAction(DateTime date)
{
// Add action logic here
Manager suggestions = new Manager();
var suggestions =suggestions.UpdateSuggestions(date)
// create view model
MyModel model= new MyModel(suggestions);
return View(model);
}
答案 3 :(得分:0)
您应该在视图中放置一个链接或表单,指向将日期传递给控制器中的操作的URL。
此操作应将日期作为参数,获取该日期的数据,并将其传递给呈现数据的单独视图。
您应该学习HTTP和网页的基础知识,以及ASP.Net MVC的基础设计 在您不理解的框架或系统中编写代码是一种令人沮丧和灾难的方法。
答案 4 :(得分:0)
抱歉,但您对asp.net mvc的了解非常差。更好地获得一些更好的知识,或者你不能使它工作。但无论如何
1)mvc中的视图中不存在事件 2)View不会在控制器上调用contstructor 3)看前两个