初探ASP NET MVC Web Application

初探ASP NET MVC Web Application1.使用VisualStudio2008,下载ASP.NETMVCFramework2.默认的ASP.NETMVCProject包括6个目录Controls–放置Controller类,处理URL请求。Models–放置业务实体类,表示和操作数据。Views–放置UI模板文件,负责展示输出结果。(MVC主要的目录)Scripts–放置Javascr

大家好,又见面了,我是你们的朋友全栈君。

1. 使用Visual Studio 2008,下载ASP.NET MVC Framework

2. 默认的ASP.NET MVC Project包括6个目录

Controls – 放置Controller 类,处理URL 请求。
Models – 放置业务实体类,表示和操作数据。
Views – 放置UI 模板文件,负责展示输出结果。

(MVC主要的目录)
Scripts – 放置Javascript 类库文件和.js 文件。
Contents – 放置CSS 和图像文件,以及其他非动态的、非Javascript 文件。
App_Data – 放置数据库文件。

Of course, you can change this folder structure, ie.Model into a separate dll.

3.Controllers and Views.

传统的Web Framework,都是把URL映射为文件(*.aspx).而MVC则是把URL映射到Controller Class的Method上。

Controller Class负责处理HTTP Request,检索用户输入,然后决定如何给客户响应。

4.如何理解ASP.NET MVC 的Routing

可以定制选择哪个Controller类,以及哪个方法,以及从URL/Querystring自动得到参数信息,并且传递给Method,并且路由信息

也是通过SEO(Search Engine Optimization)。

默认的路由信息在Global.asax的RegisterRoutes();

{

routes.MapRoute(
“Default”, // Route name
“{controller}/{action}/{id}”, // URL w/ params
new { controller=”Home”, action=”Index”,id=”” } // Param defaults
);

}

 

URL的格式为:/{controller}/{action}/{id}.Action是Public Method.Controller Class, ID是Action的参数。

5. 把Controller和View分离,最大的好处是可以对应用程序的逻辑进行Unit testing.

public class XXXController : Controller

{

 

public ActionResult Index()

{

 var dinners = GetDinners();

return new View(“Index”, dinners);

}

}

 

View方法的原型如下:

ViewResult View(string viewName, object model);

第一个参数是view模板文件,第二个参数是传递数据的Model 对象。

6. 在View中创建Hyper Link,两种方法,一种是传统的

<a href=”Dinners/Details<%=dinner.id%”>

第二种是ASP.NET MVC内置的html.ActionLink()方法

<%= Html.ActionLink(dinner.Title, “Details”, new { id=dinner.DinnerID }) %>

第一个参数显示的内容,第二个参数是Controller的Action 方法,第三个参数是Action的参数。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/162936.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • counter 用法_countdown用法

    counter 用法_countdown用法Counter类:Counter类的目的是用来跟踪值出现的次数。它是一个无序的容器类型,以字典的键值对形式存储,其中元素作为key,其计数作为value。计数值可以是任意的Interger(包括0和

    2022年8月1日
    8
  • dirsearch使用方法_ISR6051中文使用手册

    dirsearch使用方法_ISR6051中文使用手册dirsearch当前版本:v0.3.9(2019.11.26)Overviewdirsearch是一种高级的命令行工具,旨在对web服务器中的目录和文件进行暴力激活成功教程。gitclonehttps://github.com/maurosoria/dirsearch.gitcddirsearchpython3dirsearch.py-u<URL>-e<EXTENSION>也可以使用此别名直接发送到代理python3/path/to/dirsearch/d

    2022年10月6日
    2
  • 做java开发的前景何在

    做java开发的前景何在做了几年的it研发工程师,到现在还从事coding,尤其我本身是女生,工作也有5年多了,一直从事coding,用过很多的开发语言,但是好像没有精通。所以找工作不知道该用哪种语言找,于是乎瞎碰,没有目标的乱碰。呵呵。曲折的工作经历,中间休息了两年没有开发,搞了半年的需求分析,后来由于不喜欢新的工作环境离职,现在又走上了老路coding,本身我觉得没有什么,但是在现在的公司里越来越觉得做研发尤其是…

    2022年7月14日
    16
  • bacitracin_bababadalgharaghtakamminarronn

    bacitracin_bababadalgharaghtakamminarronn
     BalunTransformers
     ABalunisadevicewhichconverts balancedimpedanceto unbalancedandviceversa.Inaddition,balunscanalsoprovideimpedancetransformation,hencethenameBalunTransformers.
    Thefollowingsectionsdescribethep

    2025年8月11日
    4
  • pycharm 2018.2.3激活码(最新序列号破解)

    pycharm 2018.2.3激活码(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月19日
    47
  • Java解惑五:类之谜

    Java解惑五:类之谜

    2021年11月23日
    52

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号