[原創(chuàng)]Asp.net MVC學(xué)習(xí)之路-001

日期:17-3-7

控制器三個(gè)約定:

  1. 控制器命名規(guī)范:"NameController",以Controller結(jié)尾
  2. 控制器必須是非靜態(tài)類
  3. 實(shí)現(xiàn)IController接口(多次繼承)
    控制器里面的方法都被稱為Action
    Views文件夾下面會(huì)根據(jù)Controller名新建若干個(gè)以Controller命名的文件夾,該文件夾下還能,只能新建一個(gè)文件夾“Shared”,以及一個(gè)系統(tǒng)生成的web.config。

添加視圖:在Controller的方法名上右擊添加視圖

WebForm與Asp.net MVC請(qǐng)求頁(yè)面的區(qū)別:

<b>webForm</b>請(qǐng)求的是一個(gè)aspx頁(yè)面。 http://localhost/a.aspx

<b>Asp.net MVC</b> 請(qǐng)求地址,請(qǐng)求控制器里面的方法。http://localhost/Home/index
用戶 > Controller-Action > ViewData數(shù)據(jù)-View
Action:

  1. 處理用戶的請(qǐng)求,Request,Response
  2. 調(diào)用業(yè)務(wù)邏輯(Model BLL DAL)
  3. 把數(shù)據(jù)傳遞給View進(jìn)行展示

ViewData[]從Controller向View傳遞數(shù)據(jù)
Action 如果沒(méi)有指定(return View("index");)對(duì)應(yīng)的視圖來(lái)展示數(shù)據(jù)的話,默認(rèn)是尋找跟Action同名的View進(jìn)行展示。一般Action名與指定的視圖同名。

前臺(tái)表單代碼

<form action="/UserInfo/ProcessUserInfo" method="post">
                <div class="form-group">
                    <label for="UserName">UserName</label>
                    <input type="text" class="form-control" name="txtName" id="UserName" placeholder="請(qǐng)輸入用戶名">
                </div>
                <div class="form-group">
                    <label for="Pwd">Password</label>
                    <input type="password" class="form-control" name="txtPwd" id="Pwd" placeholder="請(qǐng)輸入密碼">
                </div>
                <button type="submit" class="btn btn-default">Submit</button>
            </form>

從前臺(tái)獲取數(shù)據(jù)的四種方式

方式一

public ActionResult ProcessUserInfo()
        {
         string UserName = Request["txtName"];//與前臺(tái)name同名。對(duì)于表單form,只有設(shè)置了 name 屬性的表單元素才能在提交表單時(shí)傳遞它們的值。
                string UserPwd = Request["txtPwd"];
        return Content("OK" + "</br>" + UserName + "</br>" + UserPwd);
}

方式二

 public ActionResult ProcessUserInfo(FormCollection collection)
        {
string str = collection["txtName"];
string pwd=collection["txtPwd"];
return Content("OK" + "</br>" + str+ "</br>" + pwd
}

方式三

public ActionResult ProcessUserInfo(string txtName,string txtPwd)//與前臺(tái)name同名
{
    return Content("OK" + "</br>" + txtName + "</br>" + txtPwd)
}

方式四

public class Info
        {
            public string txtName { get; set; } //與前臺(tái)name同名
            public string txtPwd { get; set; }
        }
public ActionResult ProcessUserInfo(Info userA)
        {
        return Content("OK" + "</br>" + userA.txtName,string + "</br>" + userA.txtPwd)
}

HtmlHelper

超鏈接的三種形式

超鏈接方式1

        <a href="/Home/About">鏈接到About頁(yè)面</a>
        <br/>

超鏈接方式2

        這種方式避免了上面更改路由機(jī)制之后要更改所有的鏈接代碼
        <br/>
        <a href=@Url.Action("About","Home")>鏈接到About</a>
        <br/>

超鏈接方式3

        <br/>
        @Html.ActionLink("About頁(yè)面","About","Home",null,new { style = "Color:green" ,@class="aaa"})  設(shè)置htmlAttr
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 因?yàn)橐郧爸饕亲鯳ebFrom開(kāi)發(fā),對(duì)MVC開(kāi)發(fā)并沒(méi)有太深入的了解。自從來(lái)到創(chuàng)新工場(chǎng)的新團(tuán)隊(duì)后,用的技術(shù)都是自己以...
    寒劍飄零閱讀 2,356評(píng)論 1 3
  • MVC與ASP.NET MVC基礎(chǔ)概念 MVC是Model-View-Controller的縮寫(xiě). MVC將應(yīng)用程...
    小明yz閱讀 2,819評(píng)論 0 11
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫(kù)、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,251評(píng)論 4 61
  • 掛掉電話,摸出一根煙來(lái)。我能想象出電話那頭那人的樣子,與其說(shuō)自己長(zhǎng)大了,不如說(shuō)父母老了 來(lái)的扎心。自己原來(lái)那顆平靜...
    青衫幾度閱讀 163評(píng)論 0 0
  • 早睡早起的一天,充實(shí),愉快! 第一天牧羊班,好好一到家就說(shuō):作業(yè)都完成了,不用挨罵了,真好[捂臉] 我只能更正她:...
    bright_blue閱讀 214評(píng)論 0 0