https://blog.csdn.net/passport768594/article/details/21336467
tempdata, viewdata, 和viewbag之间不同点
- Temp data -在不同的控制器或动作间转换时保持数据。另外,进行页面转向时,tempdata可以保持数据。它是一个内部的Session变量。
- View data - 可以在控制器和视图间保持数据。
- View Bag - 它是视图数据的动态包装。使用Viewbag不需要类型转换。它使用的是内部动态关健词。
下面是MVC(模型、视图、控制器)架构的控制流程:
- 所有的终端用户请求被发送到控制器。
- 控制器依赖请求去选择加载哪个模型,并把模型附加到对应的视图。
- 附加了模型数据的最终视图做为响应发送给终端用户。
MVC同时适用于Windows应用和Web应用吗?
相比Windows应用,MVC架构更适用于Web应用。对于Windows应用,MVP(Model View Presenter)架构更好一点。如果你使用WPF和Silverlight,MVVM更适合。
使用MVC有哪些好处?
MVC有两个大的好处:
- 分离了关注点。后台代码被移到单独的类文件,我们可以最大限度的重复利用代码。
- 自动化UI测试成为可能,因为后台代码移到了.NET类。这让我们更容易做单元测试和自动化测试。
-
MVC是的局部视图是什么?
局部视图是一个可重复调用的视图(和用户控件一样)
-
已经有了ASPX,为什么还要Razor?
相比ASPX,Razor是一个干净的、轻量级的和语法更简单。例如,ASPX去显示时间:
<%=DateTime.Now%>
在Razor中,只需要一行:
@DateTime.Now
在MVC中如何去执行Windows认证?
你需要修改web.config文件,并设置验证模式为Windows。
-
<authentication mode="Windows"/>
-
<authorization>
-
<deny users="?"/>
-
</authorization>
然后在controlle或action中,你可以使用 Authorize
属性,指定哪个用户可以访问这个controller或action。下面的代码设置到只有指定的用户可以访问它。
-
[Authorize(Users= @"WIN-3LI600MWLQN\Administrator")]
-
public class StartController : Controller
-
{
-
//
-
// GET: /Start/
-
[Authorize(Users = @"WIN-3LI600MWLQN\Administrator")]
-
public ActionResult Index()
-
{
-
return View("MyView");
-
}
-
-