前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用Razor拼接一个CheckBox标签

使用Razor拼接一个CheckBox标签

作者头像
静心物语313
发布2020-03-24 16:41:31
7150
发布2020-03-24 16:41:31
举报

为什么不在cshtm模板页中直接写一个select标签呢?

<select>
        @{
            for(int i=0;i<Model.Count;i++)
                Person p =Model[i];
                <option value="@p.Id">@p.Name</option>
            }
    </select>

** 页面中这样生成html,代码太乱,而且不能重复使用。**

在MVC中

@Html.DropDownList(); 就可以这样调用一个DropDownList() 所以可以把拼接生成select的代码放到一个单独的方法汇总

在cshtml模板页中,如果这样写

<input type="checkbox" @Model.Gender?"checked":"" />

那么Razor就会把@Model当成一个输出,所以 加个括号 改变优先级

<input type="checkbox" @(Model.Gender?"checked":"“) />

下面来直接封装一个CheckBox标签。来体会Razor的好处

在抽出来的类中封装一个静态方法CheckBox

        public static RawString CheckBox(string name,string id,bool isChecked)//标签有名字,id,和是否选中
        { 
            //1.new一个StringBuilder
            StringBuilder ss = new StringBuilder();
            //2.拼接一个CheckBox方法
            ss.Append("<input type='checkbox' id=' ").Append(id).Append("'").Append("name='").Append(name).Append("'");
            if (isChecked)//如果是选中的
            {
                ss.Append("checked");
            }
            ss.Append("/>");
            return new RawString(ss.ToString());//返回生成的标签
        }

在模板cshtml中调用CheckBox

<!--1.收先在模板文集中读取RPcshtmlHelper的命名空间-->
@using Web2
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>

    <!--11.调用类中的方法-->
    @RPcshtmlHelper.CheckBox("gender","sex",true)
</body>
</html>

效果

这里写图片描述
这里写图片描述

总结:

使用cshtml调用外部类中的方法,增加了代码的复用性,同时使得cshtml页面看起来,更加简洁了。

小技巧:当敲击一个词时候出现自动提示。如果不想使用自动提示功能, 按下Esc按键取消自动提示;

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为什么不在cshtm模板页中直接写一个select标签呢?
  • 在抽出来的类中封装一个静态方法CheckBox
  • 在模板cshtml中调用CheckBox
  • 效果
  • 总结:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档