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

<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();
        }

        

    }
}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值