ASP.NET Master Page和MVC Master Page之间有什么区别?那个问题的AJAX母版页?
答案 0 :(得分:16)
主要归结为默认控件和继承。
AJAX Master和ASP.NET Master都继承自System.Web.UI.MasterPage,而MVC Master继承自ViewMasterPage。
显然,这些对你提供了稍微不同的控制 - 正如John Clayton所述,ViewMasterPage公开了Ajax / Html / Url助手等,而其他MasterPages则无法使用。
除此之外,默认控件略有不同:
“生命周期差异”来自Page / ViewPage,而不是MasterPage / ViewMasterPage控件。
答案 1 :(得分:3)
MVC中的ViewMasterPage只是一个公共与ViewPage相同的帮助程序的母版页。这使您可以访问AjaxHelper,HtmlHelper,TempDataDictionary,UrlHelper,ViewContext,ViewData和HtmlTextWriter。
与ViewPage一样,当您使用WebFormsViewEngine(默认)时,您应该不惜一切代价抵制任何超载页面生命周期事件的冲动!它们仍然存在,并且它们仍然会运行,因为在引擎盖下仍然会在页面上调用ProcessRequest(...)。
您指的是哪个AJAX母版页?我不熟悉框架中的任何内容......
答案 2 :(得分:1)
作为一个快速猜测,我不得不说答案是“生命周期”。 ASP.NET WebForms,MVC和AJAX都有不同的生命周期,这些生命周期会影响需要由母版页控件响应的事件。 WebForms母版页需要响应Load,DataBind,PreRender,Render等.MVC母版页可能(不确定)只需要渲染动作。所有其他事件都是多余的,并且在控制器中可以找到等效代码。最后,AJAX母版页需要在正常情况下处理AJAX请求。
正如我所说,这是一个猜测,所以建议进行更多的研究