使用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按键取消自动提示;

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

MVC复选框选中方法

1、Model类 public class News { public int ID { get; set; } public string Name...
  • bdbql
  • bdbql
  • 2016年07月19日 09:36
  • 1924

Mvc4.0之 checkbox实例详解

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

DataFormatString属性语法介绍及解决DataFormatString无效的问题

DataFormatString是很多Asp.Net控件都有的属性,如GridView等等,下面简单介绍一下这个属性。DataFormatString 属性语法如下:DataFormatString=...

Mvc4.0之 checkbox实例详解

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

razor引擎独立使用的一个项目

  • 2013年12月02日 15:28
  • 441KB
  • 下载

点击checkbox使用js取table中tr下td中的各个标签value

http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> http://www.w3.org/1999/xhtml">     ...

Spring MVC框架checkbox标签的使用

代码: checkboxForm.jsp 测试checkbox标签 form:checkbox测试 选择课程: ...

Spring MVC框架checkbox标签的使用

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

介绍“Razor”— ASP.NET的一个新视图引擎

http://msdn.microsoft.com/zh-cn/ff849693 介绍“Razor”— ASP.NET的一个新视图引擎 【原文地址】 Introduci...

记录 -- 介绍“Razor”— ASP.NET的一个新视图引擎

【原文地址】Introducing “Razor” – a new view engine for ASP.NET  | http://msdn.microsoft.com/zh-cn/library...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Razor拼接一个CheckBox标签
举报原因:
原因补充:

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