ASP.NET MVC 學習第一天

今天開始第一天學習asp.net mvc,寫的不是很好,高手不要噴,希望大家能一起進步學習。

好了,開始學習

新建項目,選擇mvc 4應用程序

接下來選擇基本,視圖引擎當然要選擇Razor,如果在選擇aspx那我們就沒必要用mvc嘍

在這里我們簡單說一下,項目模板如果選擇空,這就需要我們自己進行導入很多文件,而選擇基本vs會自動導入需要的文件,對mvc不熟的人,還是先老實一點吧。

后面兩個Internet、Intranet一個是網絡web,一個是內網的。沒有用過,也不是很了解。移動選項應該是開發手機相關的,api是提供第三方的接口使用的(類似于web service,輕量級)。

點擊確定,vs會給我們導入好多文件。好奇一下,可以看一下項目文件夾下的packages的文件夾,里面好多文件啊,包括我們之前學習的ef,還有最重要我們將要學習的mvc庫。

看一下解決方案資源管理器

其中App_Data沒有太大的用處,主要是可以將數據庫放入其中,該文件夾下的內容是不準請求訪問的。可刪除

App_Start是網站啟動的時候用到的一些配置信息文件,里面有個路由文件相對重要一些。這里面的內容在全局文件中會依次調用的。

?簡單的分析一下路由的配置,看下RouteConfig.cs里面的內容

 1 public static void RegisterRoutes(RouteCollection routes)
 2         {
 3             routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
 4 
 5             routes.MapRoute(
 6                 name: "Default",
 7                 url: "{controller}/{action}/{id}",
 8                 defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
 9             );
10         }
View Code

下面是我的請求

因為我沒有寫全路徑,所以請求的是默認路徑,那為什么報錯了呢?那是因為我還沒有寫默認配置的home控制器和index方法。現在我們將該控制器和方法寫好。

在Controlllers文件夾下添加控制器Home,注意控制器名稱必須以Controller結尾

下面是vs給我們自動生成好的代碼,遺憾的是vs只給我們生成了默認的index方法,但是沒有給我們生成視圖。控制器必須要繼承自Controller

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MvcApplication1.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         //
12         // GET: /Home/
13 
14         public ActionResult Index()
15         {
16             return View();
17         }
18 
19     }
20 }
View Code

我們在index方法上點擊右鍵添加視圖便可以添加視圖了。但我先不這樣做,我要改寫這個方法,為了是先簡化學習。稍后再學習視圖部分。下面是我改后的方法,怎么樣,很簡單吧。

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace MvcApplication1.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         //
12         // GET: /Home/
13 
14         public string Index()
15         {
16             return "The first mvc";
17         }
18 
19     }
20 }
View Code

現在我們再用剛才報錯那個地址訪問以下吧,怎么樣?結果出來了吧!

當然這個地址是默認配置的,標準的我們應該訪問的是localhost:4348/home/index 這個地址。怎么樣,哈哈,我們終于甩掉aspx這個恨人的尾巴了。

其實mvc會根據url路徑去與配置的路由匹配。會將localhost:4348/home/index地址分拆,home匹配控制器,index匹配方法,我們不妨試試,如果你將HomeController改掉,這時訪問就會報錯了。我們也可以將路由配置中的url: "{controller}/{action}/{id}"中的controller與action調換一下,改為url: "{action}/{controller}/{id}",訪問一下,是不是又出錯了呢?因為這個路由解析地址的時候就會將Home當做方法index當成控制器,這樣當然會報錯了,但我們可以講url訪問地址寫成localhost:4348/index/home,這樣仍然可以訪問了,是不是有些明白了呢?

剛從aspx那轉過來的,可能這里不太好理解。畫張圖,簡單理解一下

?

上面的方法中我返回了一個字符串,這就像我們aspx中的一般處理程序一樣,所有的html代碼都要自己寫才能返回瀏覽器,而后面要學習的視圖(項目中的Views文件夾下)就是html代碼了。下面我們來看一下視圖吧,我們在home控制器中添加一個test方法

1 public ViewResult test()
2 {
3       return View();
4 }

?可以選擇手動或自動兩種方式添加視圖,先介紹手動的方式,既然test方法是在home控制器中,所以在views文件夾中添加一個home文件夾,所有控制器中的方法視圖都要views文件夾下相應的控制器名稱文件下。在Views/Home/下添加視圖,注意,視圖名稱約定要與方法名一樣。之后會介紹怎么可以使方法與視圖名稱不一樣。

下面就是vs自動生成的視圖文件。

我們也可以選擇自動生成視圖的方法,那就是在方法名稱上右鍵添加視圖,同樣可以生成視圖文件,效果是一樣的。

 1 @{
 2     Layout = null;
 3 }
 4 
 5 <!DOCTYPE html>
 6 
 7 <html>
 8 <head>
 9     <meta name="viewport" content="width=device-width" />
10     <title>test</title>
11 </head>
12 <body>
13     <div>
14         
15     </div>
16 </body>
17 </html>
View Code

?

生成的文件名是cshtml后綴,奇怪吧。修改一下內容,然后訪問一下吧。

@{Layout = null;
}<!DOCTYPE html><html>
<head><meta name="viewport" content="width=device-width" /><title>test</title>
</head>
<body><div>The first view of mvc</div>
</body>
</html>
View Code

好了,今天就這樣吧,簡單介紹一下,下面將要介紹razor視圖引擎的語法。

轉載于:https://www.cnblogs.com/ljs0322/p/3793537.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/375789.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/375789.shtml
英文地址,請注明出處:http://en.pswp.cn/news/375789.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python提取字符串中的數字

字符串存儲在string.txt中&#xff0c;將字符串中的數字提取出來&#xff0c;組成心得字符串&#xff0c;并打印輸出。 #!/usr/bin/env python3 fileopen(/home/user/string.txt) file_contextfile.read() i0 string while i < len(file_context):if file_context[i].isdig…

計算機顯示發送報告,Word文檔打不開提示發送錯誤報告的解決方法

經常使用word文檔的人員都會碰到過這種發送錯誤報告情況&#xff0c;既然有這個問題就要查個究竟什么原因造成&#xff0c;才能完美解決&#xff0c;那么今天小編就在這里講解word文檔發送錯誤報告的方法。根本原因是&#xff1a;打開word出現提示word發送錯誤報告的故障其主要…

asp.net mvc 如何在View中獲取Url參數的值

如果url是 /home/index?id3 直接Request就ok。 但是如果路由設定為&#xff1a;{controller}/{action}/{id} url是 /home/index/3 這時想在頁面View中獲取參數id的值&#xff0c;該怎么獲取&#xff1f; 查了下資料好多人都利用Action獲取到參數值后&#xff0c;用Viewdata…

js 控制

js 制動控制 代碼 是 :setInterval(function(){$(".egg").click();},1000); 使用方法&#xff1a;調出瀏覽器放控制臺(console)&#xff0c;一般是按F12&#xff0c;將上述代碼粘貼后回車就可以自動運行了。轉載于:https://www.cnblogs.com/Look_Sun/p/3798903.htm…

python讀取文本文件的三種方法

參考鏈接 python讀取文本文件的內容&#xff0c;有三種方法。 read()、readline()、readlines() read() read()是最簡單的一種方法&#xff0c;一次性讀取文件的所有內容放在一個大字符串中&#xff0c;即內存中。 fileopen(test.txt) try:file_contextfile.read() #file…

圖靈計算機模型意義,圖靈機有什么意義_學習圖靈機模型中遇到的問題

圖靈機意義圖靈提出圖靈機的模型并不是為了同時給出計算機的設計&#xff0c;它的意義我認為有如下幾點&#xff1a;1、它證明了通用計算理論&#xff0c;肯定了計算機實現的可能性&#xff0c;同時它給出了計算機應有的主要架構&#xff1b;2、圖靈機模型引入了讀寫與算法與程…

使用MVVM-Sidekick開發Universal App(一)

終于要邁進Universal的大坑了&#xff0c;還有點小激動呢。 CurrencyExchanger 掌中匯率是我前幾年發布在Windows Phone商店中的一個應用&#xff0c;當時是WP7版本&#xff0c;下載鏈接&#xff1a;http://www.windowsphone.com/zh-cn/store/app/%E6%8E%8C%E4%B8%AD%E6%B1%87%…

NewCode----給定兩個數R和n,輸出R的n次方

參考鏈接 輸入描述: 多組測試用例&#xff0c;請參考例題的輸入處理 輸入每行一個浮點數 R 其中0.0 < R <99.999&#xff0c; 一個整數 n 其中0 < n <25 輸出描述: 輸出R的n次方 輸入例子1: 95.123 12 0.1 1 輸出例子1: 548815620517731830194541.89902534…

如何檢測本計算機耗電量,如何查看電腦耗電量?魯大師查看電腦使用功率的方法...

【www.xinr41319.cn--電腦網絡】查看自己電腦的電源功率有兩大好處&#xff0c;第一知道給臺式電腦配置多大的電源&#xff0c;第二可以精確的算出&#xff0c;一臺電腦&#xff0c;一天一般消耗多少電&#xff0c;那么小編教大家來查看一下自己電腦的功率是多少。我們可以要借…

【轉載】COM小結

原文&#xff1a;http://blog.csdn.net/byxdaz/article/details/6595210 一、Com概念 所謂COM&#xff08;Componet Object Model&#xff0c;組件對象模型&#xff09;&#xff0c;是一種說明如何建立可動態互變組件的規范&#xff0c;此規范提供了為保證能夠互操作&#xff0…

解決Dropbox無法連接的問題

同步共享服務Dropbox從6月18日開始再次遭到封鎖&#xff0c;原因是DNS污染。Dropbox上次在2010年5月曾遭到IP封鎖和網址關鍵字過 濾&#xff0c;2012年5月除文件外鏈功能外其它功能可正常訪問&#xff1b;2014年2月全部功能都可以正常訪問。中國正展開凈網行動&#xff0c;文件…

求任意數的階乘

這是筆試的第二題&#xff0c;求任意數的階乘其實實質也就是大數相乘&#xff0c;很可惜沒有在規定時間內完成這道題&#xff0c;估計這次筆試涼涼。 #include<iostream> using namespace std;int result[200] { 0 }; int N; void fun(int n) {int temp;int i;int carr…

RDLC報表系列一

1、報表項目搭建&#xff1a; 配置好后&#xff0c;單擊Web服務URL:http://lg-20151517ryre/ReportServer 如果電腦系統打開的時候沒有設置密碼的話&#xff0c;此時打開有可能會出現需要登錄名和密碼。如出現此種情況可給Administrator設置密碼。然后刷新當前頁面就可以看大上…

.net 服務器自動執行,自動檢測服務器使用流量并執行命令腳本

#codingutf-8limit_total0# limit_total 上傳下載的流量限制&#xff0c;單位GB&#xff0c;如果不限制就是0&#xff0c;如果限制1T就是1024limit_in0# limit_in 下載的流量限制&#xff0c;單位GB&#xff0c;如果不限制就是0&#xff0c;如果限制1T就是1024limit_out0# limi…

Android APK是否需要預解壓

今天在逛論壇的時候&#xff0c;發現有一個朋友問的問題。其主要目的&#xff0c;是想實現 玩家首次進入游戲的時候&#xff0c;或者新安裝了版本的時候&#xff0c;對APK進行解壓&#xff0c;寫入SD卡。這樣游戲運行過程中&#xff0c;將不會再從APK中讀取資源。 以提高效率。…

C++開發秋招筆試題

第一題&#xff1a; 記得不太清了&#xff0c;湊合看吧&#xff01; 輸入&#xff1a; 第一行&#xff1a;T 表示有T個測試用例 以下N行&#xff1a; 輸入的T個測試用例 測試用例&#xff1a; 每個輸入包含四個輸入&#xff0c;a&#xff0c;b&#xff0c;c&#xff…

ADS-B顯示終端5.9

更改日志 1 更新背景地圖。增加了全國范圍內的VOR電臺、DME、NDB導航臺信息&#xff0c;包含有坐標信息、代碼信息、頻率等內容。 VOR電臺、DME、NDB導航臺信息來自中國民航局公布的航行情況資料匯編。VOR、DME、NDB分別採用不同的圖形繪制&#xff0c;目標均採用淡綠色畫筆…

域名自動跳轉不搭建服務器,寶塔搭建的服務器WEB系統環境如果做域名301跳轉

寶塔搭建的服務器WEB系統環境如果做域名301跳轉今天老蔣遇到一個網友&#xff0c;服務器WEB系統環境是用寶塔搭建的&#xff0c;搭建的網站綁定過WWW域名和不帶WWW域名&#xff0c;他是希望能全部統一到WWW的域名&#xff0c;這里應該是他程序沒有自帶301跳轉&#xff0c;如果是…

求兩個字符串的最長公共子串

給出兩個字符串&#xff0c;求出兩個字符串的最長公共子串 #include<iostream> #include<string> using namespace std; int main() {string a, b;while (cin >> a >> b){if (a.size() > b.size())swap(a, b);string str_m;//存儲最長公共子串for …

修改模型的原點

Mesh mesh 坦克.GetComponent<MeshFilter>().mesh; Vector3[] vertices mesh.vertices;foreach(vertices v in vertices ) {v new Vector3(要移動的距離)}mesh.vertices vertices; mesh.RecalculateBounds();轉載于:https://www.cnblogs.com/mukeyang/p/4633085.html…