使用Razor拼接一个CheckBox标签

原创 2015年07月09日 16:47:41

为什么不在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按键取消自动提示;

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Mvc4.0之 checkbox实例详解

Checkbox是我们编成中时常会用到的,它的使用可以为我们带来很大的便捷,我们可以运用它从而实现数据的批量删除,然而在mvc4.0种如何实现该操作,其实也不难 看下面这个实例 ·       ...

mvc5中多个checkbox提交

纯属新手Mark一下,实在没有水平用更好的方法 一个表单包含了不同的输入数据,checkbox,textbox等,参照了MVC5自己生成的Create,textbox中的内容参照脚手架自动生成的Cre...

Razor模板解密

RazorEngine将模板cshtml编译成了。一个程序集,每次编译运行,都会产生一个程序集; 可以用一个控制台程序打印出来,生成的“动态程序集“的名字(动态程序集是不能打印出磁盘中的位置的)us...

Razor模板引擎工作原理及怎么调用外部方法演示

工作原理:RazorEngine引擎就是将cshtml模板文件进行了字符串的拼接,然后,再封装为一个程序集。。。再通过一般处理程序,进行调用。。下面来封装一个方法。来简化上一节内容的操作; 1.获...

自己写一个Raw方法

遇到的的问题 如果在RPcshtmHelper的类中写一个返回值类型是 ‘ string ’类型的方法 public static string Test3() { ...

Razor模板引擎

为什么使用Reazor原因:类似于前边写的模板页,自己写了。还需要用replace来替换成自己想要的变量。。常见的模板引擎:Razor、Nvelocity、Vtemplate。 Razor有VS自动提...

asp.net mvc3 Razor引擎中@使用规则小记

1 2     3     @if(true) 4     { 5         ...
  • sgear
  • sgear
  • 2014-07-29 11:48
  • 4855

Spring MVC框架checkbox标签的使用

代码: checkboxForm.jsp [html] view plain copy %@ page language="java" con...

Spring MVC框架checkbox标签的使用

代码: checkboxForm.jsp 测试checkbox标签 form:checkbox测试 选择课程:
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)