C# 如何将这个webforms范例转换为mvc?

C# 如何将这个webforms范例转换为mvc?,c#,asp.net-mvc,C#,Asp.net Mvc,假设以下情况,我将如何在MVC中实现它 我的所有页面都位于一个主控中,主控上有CurrentUser属性。该对象由某个会话用户id确定,然后在每次页面加载时从db查询。然后,该对象将在整个站点中使用,例如,在顶部显示“Welcome _____;”,并在各种页面代码中用作数据库查询等的一部分。一个页面上有多个用户控件,每个控件显示不同的信息,在首次加载时进行查询。当一个控件返回并以某种方式改变其显示时,页面的其余部分保持不变,无需重新填充 我掌握了mvc的基本知识,但我正在努力理解如何将其提升到

假设以下情况,我将如何在MVC中实现它

我的所有页面都位于一个主控中,主控上有CurrentUser属性。该对象由某个会话用户id确定,然后在每次页面加载时从db查询。然后,该对象将在整个站点中使用,例如,在顶部显示“Welcome _____;”,并在各种页面代码中用作数据库查询等的一部分。一个页面上有多个用户控件,每个控件显示不同的信息,在首次加载时进行查询。当一个控件返回并以某种方式改变其显示时,页面的其余部分保持不变,无需重新填充

我掌握了mvc的基本知识,但我正在努力理解如何将其提升到下一个(真实世界)的内容丰富视图级别。如何向视图公开公共对象?控制器是否必须将视图可能需要的所有数据都粘贴到ViewData中


有谁能推荐一个关于更高级mvc使用的好教程,它将帮助我了解如何远离webforms?

我更喜欢将视图所需的所有数据放入ViewData中。我大部分时间都尝试使用强类型模型,并且在将整个应用程序中使用的公共属性添加到公共BaseViewData类中取得了一些成功

对于像用户信息这样的公共属性,我让BaseViewData类负责填充或提供这些属性值,这样每个控制器就不必担心上下文信息,因为上下文信息不一定是特定操作所关心的

我很想看看其他人是如何解决这个问题的