• C#-MVC-Razor视图引擎及解决路径问题的三个方法


    Razor 视图引擎

    与Aspx开发区别在于代码:

      1、Razor 更智能,摒弃了<%%>格式,直接用@符号开启cs代码,遇到html时自动识别

      2、遇到如汉字等即非cs代码,又非html代码就无法识别,由“@:”或“<text></text>”来输出

    Razor格式:

      1、基本代码以“@”开启cs代码,一行内为cs代码

      2、“@{}”表示花括号内都是cs代码

      3、“@:”或“<text></text>”输出文本

      4、“@()”括号内内容转化为代码

    一、新建Razor视图引擎

    二、输出当前时间,并判断上午或下午

    @{
        Layout = null;
    }
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
        @DateTime.Now.ToString("yyyy年MM月dd日");<br />
        @if (DateTime.Now.Hour > 12)
        {
            @:下午
        }
        else
        {
            <text>上午</text>   
        }
    
    </body>
    </html>
    Razor展示时间

    三、展示数据:

    //主页展示数据
            public ActionResult Index()
            {
                using (Data0928DataContext con = new Data0928DataContext())
                {
                    List<Users> ulist = con.Users.ToList();
                    ViewBag.Users = ulist;
                }
    
                return View();
            }
    动作代码
    @{
        Layout = null;
    }
    @using MvcApplication2.Models;
    
    <!DOCTYPE html>
    
    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>Index</title>
    </head>
    <body>
    
        <table style=" 100%; text-align: center;" cellpadding="0" cellspacing="0" border="1">
            <tr style="background-color: navy; color: white;">
                <td>编号</td>
                <td>用户名</td>
                <td>密码</td>
                <td>昵称</td>
                <td>性别</td>
                <td>生日</td>
                <td>民族</td>
            </tr>
            @{
                List<Users> ul = ViewBag.Users as List<Users>;
                foreach (Users u in ul)
                {
                <tr>
                    <td>@u.ids</td>
                    <td>@u.username</td>
                    <td>@u.password</td>
                    <td>@u.nickname</td>
                    <td>@(u.sex.Value?"":"")</td>
                    <td>@u.birthday.Value.ToString("yyyy年MM月dd日")</td>
                    <td>@u.nation</td>
                </tr>
                }
                
            }
        </table>
    
    </body>
    </html>
    View层代码

    四、修改时,男女默认选中方法

    方法一:

    @:性别:
    
            <input id="ra1" type="radio" name="sex" value="True" @(u.Sex.Value ? "checked="checked"" : "") /><label for="ra1">男</label>
            <input id="ra2" type="radio" name="sex" value="False" @(u.Sex.Value ? "" : "checked="checked"") /><label for="ra2">女</label>
                
            <br />
    男或女默认选中

    方法二:

     @:性别:
            @
                if (u.Sex.Value)
                {
    <input id="ra1" type="radio" name="sex" value="True" checked="checked" /><label for="ra1">男</label>
    <input id="ra2" type="radio" name="sex" value="False" /><label for="ra2">女</label>
                }
                else
                {
    <input id="ra3" type="radio" name="sex" value="True" /><label for="ra3">男</label>
    <input id="ra4" type="radio" name="sex" value="False" checked="checked" /><label for="ra5">女</label>
                }
    男或女默认选中

    五、修改时,下拉列表

    <select name="nationc">
                @{
                List<Nation> nnlist = ViewBag.xixi as List<Nation>;
    
                foreach (Nation n in nnlist)
                {
                    <option @( n.NationCode == u.Nation ? "selected="selected"" : "")  value="@n.NationCode">@n.NationName</option>
                }
                }
            </select>
    下拉列表代码

    ★六、系统自动生成路径 - 参数:1、文字 2、动作+参数 3、控制器

    @Html.ActionLink("修改", "Update/" + u.UserName, "Home");

    ★七、form表单格式 - 参数:1、动作 2、控制器

    @{
      using (Html.BeginForm("Update1", "Home"))
      {
      }
    }    

    ★八、JS生成路径

    <script>
        document.getElementById("aaa").value = '@Url.Action("wa", "Home")';
    </script>
  • 相关阅读:
    有几个控件的操作时有关联关系,一个对话框中有多组这样的控件群,各个组中的控件的消息响应处理非常类似,以下提供解决方案
    Visual Studio DSL 入门 1 什么是特定领域开发和DSL
    ★软件架构DSL领域特定语言初探[
    人生如棋胜似棋
    成功女性处世十大秘诀
    职场丽人应具备十二种经典姿态
    程序员真实写真:35岁前成功的12条黄金法则 (转)
    思雨如思君(七言)
    站在2006的边缘
    不得不学的创业“八忌”
  • 原文地址:https://www.cnblogs.com/qq450867541/p/6519995.html
Copyright © 2020-2023  润新知