Mvc Razor视图引擎基础与控制器

来源:互联网 发布:网络零售经纪模式 编辑:程序博客网 时间:2024/05/01 05:01

<1>

@Html.EditorFor(model => model.BRAND_PIC)//EditorFor没法添加属性,你可以添加一个自定义EditorFor模板,或者EditoFor 改成 TextBoxFor就可以添加html属性了@Html.TextBoxFor(model => model.BRAND_PIC new{ @id="id"}) //给表单添加一个id属性//readonly与disabled都是让文本框为只读,他们区别是:设置disabled,文本框是灰色的。设置readonly 文本框不是灰色的//Readonly只针对input(text / password)和textarea有效,而disabled对于所有的表单元素都有效,包括select, radio, checkbox, button等。@Html.TextBoxFor(model => model.CREATOR_ID, new { @readonly = "true" })  //给表单添加一个readonly属性,@Html.TextBoxFor(model => model.CREATOR_ID, new { @disabled = "disabled" }) //个表单添加一个disabled属性

<视图>

@{    Layout = null;}<!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>Index</title></head><body>    <div>        @ViewData["time"];   //可以获取ViewData传递过来的值        @DateTime.Now.ToString(); //可以直接输出一个c#变量        <p>@ViewData["time"]</p>          @for (int i = 0; i < 10; i++)   //可以直接在@后面写c#代码,它会自动感应{}的闭合        {             <span>@i</span>        }        @if (ViewData.Count > 0)            {             <p>ViewData是有数据的</p>        }        else        {             <p>ViewData没有数据</p>        }        @{            //这个@{} 我们称之为Razor的一个语句块            int j = 10;            j++;            <p>@j</p> //输出11                     }         <!-----------------------没有经过编码化了的Html代码------------------------------->         @{             //这里是弹出一个窗体,窗体的文本内容是"Dome"             <script type="text/jscript">alert('Dome')</script>                       }           <!----------------------------编码化了的Html代码--------------------------------->         @{              string str="<script>alert('123')</script>"  ;             <p>@str</p> //这里输出的<script>alert('123')</script>这段代码,而不是弹出一个窗体了。说明这段代码已经被编码化了                          }          <!--假如说我现在就是想在前台页面输出一些Html标签,或一些代码,就想让它原封不动的去执行那段代码,比如说我现在就想给一个Div标签放到页面去,怎么办呢,以下三种方法都可以-->                          @Html.Raw("<script>alert('中国')</script>")   //弹出一个窗体,窗体的内容是“中国”                         @(new HtmlString("<script>alert('德国')</script>"))  //弹出一个窗体,窗体的内容是“德国”                         @(new MvcHtmlString("<script>alert('美国')</script>")) //弹出一个窗体,窗体的内容是“美国”          <!------------------------Razor引擎的数据类型转换------------------------->          @{              string s = "123";               <p>@s.IsInt() </p>  //IsInt是检查s这个字符串是否可以转换成int类型:这里输出True              <p>@s.AsInt()</p> // AsInt是将s这个字符串转换成int类型                                                //当然除了IsInt()外还有IsFloat(),IsDecimal(),IsDateTime(),IsBool()              //对应的---------------AsFloat(),AsDecimal(),AsDateTime(),AsBool()                int a = 123;              <p>@a.ToString()</p>  //将int类型转换成字符串                                                                         }                                                </div></body></html>


控制器

using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;namespace MvcApplication.Controllers{    /// <summary>    /// 控制器的三个职责    /// 1,处理跟用户的交互    /// 2,处理业务逻辑的调用    /// 3,指定具体的视图显示数据,并把数据传递给视图    ///     /// 控制器的约定    /// 1,控制器必须是非静态的public类    /// 2,必须实现IController这个接口。    /// 注:控制器默认都是继承Controller类,而Controller类又继承ControllerBase类。ControllerBase类又继承IController接口    /// 3,控制器必须以Controller结尾。例如:Home这个控制器就是以Controller结尾的。    /// </summary>    public class HomeController : Controller    {        //        // GET: /Home/        public ActionResult Index()        {            //----------------------------------------设置与获取表单传过来的值            string name= Request.QueryString["UserName"];//Method="Get"有效            string name2 = Request.Form["UserName"]; //Method="Post"有效            string userName = Request["UserName"]; //Method="Post"或"Get"都有效            //----------------------------------------设置与获取Cookie            Response.SetCookie(new HttpCookie("MyCookie","我是MyCookie的值")); //设计Cookie的值            string myCookie= Request.Cookies["MyCookie"].Value; //获取Cookie的值            //----------------------------------------设置与获取Session            Session["MySession"] = "123";            string getMySession = Convert.ToString(Session["MySession"]);            //----------------------------------------设置与获取Application            HttpContext.Application["MyApplication"] = 10;            object getMyApplication = HttpContext.Application["MyApplication"]; //获取Application            ViewData["time"] = DateTime.Now.ToString();            return View();        }            }}


1 0