久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

ASP.NETMVC5-控制器

MVC代表: 模型-視圖-控制器 。MVC是一個(gè)架構(gòu)良好并且易于測(cè)試和易于維護(hù)的開(kāi)發(fā)模式?;贛VC模式的應(yīng)用程序包含:

我們提供的服務(wù)有:成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、云巖ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的云巖網(wǎng)站制作公司

· Models: 表示該應(yīng)用程序的數(shù)據(jù)并使用驗(yàn)證邏輯來(lái)強(qiáng)制實(shí)施業(yè)務(wù)規(guī)則的數(shù)據(jù)類

· Views: 應(yīng)用程序動(dòng)態(tài)生成 HTML所使用的模板文件。

· Controllers: 處理瀏覽器的請(qǐng)求,取得數(shù)據(jù)模型,然后指定要響應(yīng)瀏覽器請(qǐng)求的視圖模板。

本系列教程,我們將覆蓋所有這些概念,并告訴您如何在ASP.NET MVC 5中使用它們來(lái)構(gòu)建應(yīng)用程序。

首先,讓我們創(chuàng)建一個(gè)控制器類。在解決方案資源管理器中,用鼠標(biāo)右鍵單擊控制器文件夾(Controllers ),然后選擇“添加控制器“

ASP.NET MVC 5 - 控制器

在添加Scaffold對(duì)話框,單擊MVC5控制器 -空,然后單擊“添加”。

ASP.NET MVC 5 - 控制器

命名新的控制器為“HelloWorldController”,并單擊“ 添加“。

ASP.NET MVC 5 - 控制器

請(qǐng)注意,在解決方案資源管理器中會(huì)創(chuàng)建一個(gè)名為HelloWorldController.cs的新文件和一個(gè)新的文件夾Views\HelloWorld。該文件會(huì)被IDE默認(rèn)打開(kāi)。

ASP.NET MVC 5 - 控制器

用下面的代碼替換該文件中的內(nèi)容。

using System.Web;
using System.Web.Mvc;
namespace MvcMovie.Controllers
{
public class HelloWorldController : Controller
{
//
// GET: /HelloWorld/
public string Index()
{
return "This is my defaultaction...";
}
//
// GET: /HelloWorld/Welcome/
public string Welcome()
{
return "This is the Welcome action method...";
}
}
}

在這個(gè)例子中控制器方法將返回一個(gè)字符串的HTML。本控制器被命名HelloWorldController代碼中的第一種方法被命名為Index。讓我們從瀏覽器中調(diào)用它。運(yùn)行應(yīng)用程序(按F5或CTRL + F5)。在瀏覽器的地址欄中輸入路徑“HelloWorld“。(例如,在下面的示例中:http://localhost:1234/HelloWorld)頁(yè)面在瀏覽器中的表現(xiàn)如下面的截圖。在上面的方法中,代碼直接返回了一個(gè)字符串。你告訴系統(tǒng)只返回一些HTML,系統(tǒng)確實(shí)這樣做了!

ASP.NET MVC 5 - 控制器

ASP.NET MVC會(huì)調(diào)用不同的控制器類(和其內(nèi)部不同的操作方法)這取決于傳入U(xiǎn)RL。所使用的ASP.NET MVC的默認(rèn)URL路由邏輯使用這樣的格式來(lái)判定哪些代碼以便調(diào)用:

/[Controller]/[ActionName]/[Parameters]

你也可在App_Start/RouteConfig.cs 文件內(nèi)通過(guò)配置URL路由解析規(guī)則:

public static void RegisterRoutes(RouteCollection routes)

{

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

routes.MapRoute(

name: "Default",

url: "{controller}/{action}/{id}",

defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }

);

}

如果您運(yùn)行應(yīng)用程序并沒(méi)有提供任何URL段的,默認(rèn)為“Home”的控制器和“Index”的操作方法,在上面的代碼中的defaults部分指定的:

  • 第一部分的URL確定哪個(gè)控制器類會(huì)被執(zhí)行。因此 /HelloWorld映射到HelloWorldController控制器類。

  • 第二部分的URL確定要執(zhí)行控制器類中的那個(gè)操作方法。因此 /HelloWorld/Index會(huì)使得HelloWorldController控制器類的Index 方法被執(zhí)行。請(qǐng)注意,我們只需要瀏覽 /HelloWorld路徑,默認(rèn)情況下會(huì)調(diào)用Index方法。如果沒(méi)有明確的指定操作方法,Index方法會(huì)默認(rèn)的被控制器類調(diào)用。

  • 第三部分的URL段(Parameters參數(shù))是路由數(shù)據(jù)。在本教程中,稍后我們將看到路由數(shù)據(jù)。

瀏覽http://localhost:xxxx/HelloWorld/Welcome。Welcome方法會(huì)被運(yùn)行并返回字符串:"This is the Welcome action method...”。 默認(rèn)的MVC映射為/[Controller]/[ActionName]/[Parameters] 對(duì)于這個(gè)URL,控制器類是HelloWorld,操作方法是Welcome,您還沒(méi)有使用過(guò)URL的[Parameters] 部分。

ASP.NET MVC 5 - 控制器

讓我們稍微修改一下這個(gè)例子,以便可以使用URL傳遞一些參數(shù)信息給控制器類(例如, /HelloWorld/Welcome?name=Scott&numtimes=4)。改變您的Welcome 方法來(lái)包含兩個(gè)參數(shù),如下所示。需要注意的是,示例代碼使用了C#語(yǔ)言的可選參數(shù)功能,numTimes參數(shù)在不傳值時(shí),默認(rèn)值為1。

public string Welcome(string name, int numTimes = 1) {
return HttpUtility.HtmlEncode("Hello " + name + ", NumTimes is: " + numTimes);
}
安全注意事項(xiàng): 上面的代碼使用了 HttpServerUtility.HtmlEncode 來(lái)保護(hù)應(yīng)用從malacious輸入的(也就是JavaScript). 有關(guān)詳細(xì)信息,請(qǐng)參閱How to: Protect Against Script Exploits in a Web Application by Applying HTML Encoding to Strings.

運(yùn)行您的應(yīng)用程序并瀏覽此URL(http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4。你可以對(duì)參數(shù)name 和numtimes 嘗試不同的值。ASP.NET MVC model binding system 會(huì)自動(dòng)將地址欄中URL里的 query string映射到您方法中的參數(shù)。

ASP.NET MVC 5 - 控制器

上面的例子,沒(méi)有用到URL段參數(shù)的部分( Parameters)。 通過(guò)query strings傳遞name 和 numTimes的參數(shù).

用下面的代碼替換“Welcome”的方法:

public string Welcome(string name, int ID = 1)
{
return HttpUtility.HtmlEncode("Hello " + name + ", ID: " + ID);
}

運(yùn)行應(yīng)用程序并輸入以下網(wǎng)址URL: http://localhost:xxx/HelloWorld/Welcome/3?name=Rick

ASP.NET MVC 5 - 控制器

這次URL第三部分的參數(shù)匹配了參數(shù)ID。

通過(guò)查看下面的RegisterRoutes路由規(guī)則函數(shù):

public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}

在ASP.NET MVC應(yīng)用程序,通過(guò)參數(shù)傳遞路由數(shù)據(jù)是為更典型的應(yīng)用(如同上面用query string傳遞 ID參數(shù))。您還可以增加一條路由來(lái)傳遞name 和numtimes ,在路由數(shù)據(jù)在URL中的參數(shù)。在App_Start\RouteConfig.cs file文件中,添加“Hello”的的路由:

public class RouteConfig{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
name: "Hello",
url: "{controller}/{action}/{name}/{id}"
);
}
}

運(yùn)用應(yīng)用程序,在瀏覽器輸入:/localhost:XXX/HelloWorld/Welcome/Scott/3.

ASP.NET MVC 5 - 控制器

對(duì)于眾多MVC應(yīng)用程序的缺省默認(rèn)的路由可以正常工作。稍后您將學(xué)習(xí)本教程中通過(guò)使用模型綁定的數(shù)據(jù),你就不必修改缺省的路由。

在上面的例子中,控制器一直在做著MVC中“VC”部分的職能:也就是視圖和控制器的工作。該控制器直接返回HTML內(nèi)容。通常情況下,您不會(huì)讓控制器直接返回HTML,因?yàn)檫@樣代碼會(huì)變得非常的繁瑣。相反,我們通常會(huì)使用一個(gè)單獨(dú)的視圖模板文件來(lái)幫助生成返回的HTML。讓我們來(lái)看看下面我們?nèi)绾文茏龅竭@一點(diǎn)吧。

本文題目:ASP.NETMVC5-控制器
網(wǎng)站路徑:http://sd-ha.com/article42/popghc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)全網(wǎng)營(yíng)銷推廣、虛擬主機(jī)搜索引擎優(yōu)化、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司