欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ASP.NET MVC

程序员文章站 2022-06-11 13:04:15
...
 
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。

 

 

 

  1.  
    <authentication mode="Windows"/>
  2.  
    <authorization>
  3.  
    <deny users="?"/>
  4.  
    </authorization>



 

 

然后在controlle或action中,你可以使用 Authorize 属性,指定哪个用户可以访问这个controller或action。下面的代码设置到只有指定的用户可以访问它。

 

 

 

    1.  
      [Authorize(Users= @"WIN-3LI600MWLQN\Administrator")]
    2.  
      public class StartController : Controller
    3.  
      {
    4.  
      //
    5.  
      // GET: /Start/
    6.  
      [Authorize(Users = @"WIN-3LI600MWLQN\Administrator")]
    7.  
      public ActionResult Index()
    8.  
      {
    9.  
      return View("MyView");
    10.  
      }
    11.