• MVC02


    1. 添加View

    1)在添加完Controller生成的View目录右键新建,添加名称,选择模板,

    下边可以选择一个Layout布局页,选择shared共享的布局

    2) 在之前的路由中为我们直接返回的是字符串,这次把类型改回为原来的

    ActionResult,并返回View()方法,View方法会直接找到View下面的相应视图进行呈现

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    
    namespace HelloMVC.Controllers
    {
        public class HelloController : Controller
        {
            // GET: Hello
            public ActionResult Index()
            {
                return View();
            }
    
            // 参数缺省值
            public string Yes(string name = "Linda")
            {
                return "Yse MVC, this is Yes." + HttpUtility.HtmlEncode(name);
                //或 return "Yse MVC, this is Yes." + Server.HtmlEncode(name);
    
    
            }
        }
    }

    右键cshtml文件,view in page inspector 

    这样方便程序员进行网页开发。

    为什么ASP.NET可以在html文件中插入C#语句?因为他借助了Razor引擎

    在cshtml内声明一个变量:

    @{var a = 100;}

    或者inlline内联调用

    @{
        ViewBag.Title = "Index";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    <h2>Index</h2>
    
    <p>这是Hello的首页,欢迎光临</p>
    
    @{var a = 100;}
    <p>the value of a is @a</p>

    可以直接调用服务器上的一些代码

    使用/**/进行注释

    3)我们没有为上面的cshtml文件添加banner,那么是从何加上的模板呢

    主要是我们引用了shaerd目录下的

    @{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
    }

    在上述的Layout文件中,

    container body-content类将包括上述的嵌入体内容

    4)从controller向view传递数据

    因为我们不提倡在view内进行逻辑处理以及数据库交互,

    我们借助ViewBag进行传递

    Controller部分:

            public ActionResult Yes(string name = "Linda",int numTimes = 1)
            {
                ViewBag.Message = "hello," + name;
                ViewBag.NumTimes = numTimes;
                return View();
            }

    View部分

    @{
        ViewBag.Title = "Welcome";
        Layout = "~/Views/Shared/_Layout.cshtml";
    }
    
    <h2>Yes Page</h2>
    <p>下面呈现Controller传来的数据</p>
    <ul>
        @for(int i = 0; i < ViewBag.NumTimes; i++)
        {
            <li>@ViewBag.Message</li>
        }
    </ul>
  • 相关阅读:
    Windows徽标键(WinKey)的屏蔽和恢复
    合肥轨道交通线路图(2025+ / 运营版)
    cmake未找到命令解决
    python3 用requests.get获取网页内容为空 <Response [200]>
    磁盘问题修复
    双机热备vrrp
    华为 nat策略
    策略实验2
    防火墙安全策略
    华为防火墙策略配置(http、icmp包允许通过)
  • 原文地址:https://www.cnblogs.com/Tanqurey/p/12202815.html
Copyright © 2020-2023  润新知