ASP.NET MVC

Posted jimsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET MVC相关的知识,希望对你有一定的参考价值。

 
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.  

 

以上是关于ASP.NET MVC的主要内容,如果未能解决你的问题,请参考以下文章

使用 jscript 和控制器操作将数据添加到使用 MVC ASP.net 的数据库

如何在 MVC ASP.NET 中的手机号码前添加默认(默认为浏览器国家)国家代码?

配置 antiforgerytoken 单次使用 mvc asp.net

我如何根据 mvc asp.net 中的登录用户切换视图

在 MVC ASP.Net 中将插件添加到部分视图选择列表

使用 MEF 构建具有 n 层松散耦合的 MVC ASP.NET 应用程序