关于MVC问题
本人刚刚接触asp.netMVC架构模式,有个小问题有点让我疑惑。使用了MVC开放asp.netweb应用程序,那么是否asp.netWebForm中的控件对于MVC程序...
本人刚刚接触asp.net MVC 架构模式 ,有个小问题有点让我疑惑。使用了MVC开放asp.net web应用程序,那么是否asp.net WebForm中的控件对于MVC程序没有了用处了?? 在此先谢谢了
展开
展开全部
答案:不是。
你可以在MVC的View里放一个runat="server"的form,并把你要的控件放到这个form中(当然,这不是必须的),接下来你就可以跟在原来的WebForm中做同样的操作了。
但事件处理程序不是code-behind的形式,而是在View里。当然,那是默认的方式,若真有那样的需要,code-behind仍然可行。但ASP.NET的View不是继承自code-behind的那个类,而是System.Web.Mvc.ViewPage。所以,要让code-behind继续可用的话还有些工作要做。这个工作我还没看到。。
另外,ASP.NET MVC的视图引擎(view engine)就是WebForm的视力引擎,叫WebFromViewEngine,它所基于的视图栈(Web Forms stack)包含服务器控件、母板页跟对设计视图时的拖放支持。
以上这段是你可以在ASP.NET MVC View里用控件的原因,怕我理解有误,贴上我看的书上的原话:
The MVC Framework comes with a built-in view engine called the Web Forms view engine, implemented as a class called WebFormViewEngine. It’s familiar to anyone who’s worked with ASP.NET in the past,
because it’s built on the existing Web Forms stack, which includes server controls, master pages, and the Visual Studio designer.
你可以在MVC的View里放一个runat="server"的form,并把你要的控件放到这个form中(当然,这不是必须的),接下来你就可以跟在原来的WebForm中做同样的操作了。
但事件处理程序不是code-behind的形式,而是在View里。当然,那是默认的方式,若真有那样的需要,code-behind仍然可行。但ASP.NET的View不是继承自code-behind的那个类,而是System.Web.Mvc.ViewPage。所以,要让code-behind继续可用的话还有些工作要做。这个工作我还没看到。。
另外,ASP.NET MVC的视图引擎(view engine)就是WebForm的视力引擎,叫WebFromViewEngine,它所基于的视图栈(Web Forms stack)包含服务器控件、母板页跟对设计视图时的拖放支持。
以上这段是你可以在ASP.NET MVC View里用控件的原因,怕我理解有误,贴上我看的书上的原话:
The MVC Framework comes with a built-in view engine called the Web Forms view engine, implemented as a class called WebFormViewEngine. It’s familiar to anyone who’s worked with ASP.NET in the past,
because it’s built on the existing Web Forms stack, which includes server controls, master pages, and the Visual Studio designer.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询