MVC readioButtonList的创作过程及运用
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Linq.Expressions;
using System.Web.Mvc;
using System.Text; namespace MyJob.Helpers
{
public static class HtmlHelperExt
{ public static MvcHtmlString RadioButtonList(this HtmlHelper helper, string name, IEnumerable<String> items,string selectValue=null,RadioButtonListType type=)
{
var selectList = new SelectList(items);
return helper.RadioButtonList(name, selectList, selectValue,type); } /// <summary>
///
/// </summary>
/// <param name="helper"></param>
/// <param name="name"></param>
/// <param name="items"></param>
/// <param name="type">0:代表水平排列,1:代表垂直方向排列</param>
/// <returns></returns>
public static MvcHtmlString RadioButtonList(this HtmlHelper helper, string name, IEnumerable<SelectListItem> items, string selectValue=null, RadioButtonListType type = )
{
var sb = new StringBuilder();
foreach (var item in items)
{
var rbValue = item.Value ?? item.Text;
var rbText = item.Text ?? item.Value;
var rbId = name + "_" + rbValue;
var radioTag = "";
if (String.IsNullOrEmpty(selectValue))
{
if (item.Selected)
radioTag = String.Format("<input name='{0}' id='{1}' checked value='{2}' type='radio'>", name, rbId, rbValue);
else
radioTag = String.Format("<input name='{0}' id='{1}' value='{2}' type='radio'>", name, rbId, rbValue);
}
else {
if (rbValue.Trim() == selectValue.Trim())
radioTag = String.Format("<input name='{0}' id='{1}' checked value='{2}' type='radio'>", name, rbId, rbValue);
else
radioTag = String.Format("<input name='{0}' id='{1}' value='{2}' type='radio'>", name, rbId, rbValue);
}
var labelTag = new TagBuilder("label");
labelTag.MergeAttribute("for", rbId);
labelTag.MergeAttribute("id", rbId + "_label");
labelTag.InnerHtml = rbText; sb.Append(radioTag.ToString() + labelTag.ToString());
if (type == RadioButtonListType.V) sb.Append("<br/>");
} return MvcHtmlString.Create(sb.ToString()); }
}
}
调用1
@Html.RadioButtonList(m=>m.UserType,new [] {
new SelectListItem {
Text = "个人",
Value = "Personal",
Selected = true
},
new SelectListItem {
Text = "企业",
Value = "Company"
}
})
调用2
@Html.RadioButtonList(m=>m.UserType,new [] {
new SelectListItem {
Text = "个人",
Value = "Personal",
Selected = true
},
new SelectListItem {
Text = "企业",
Value = "Company"
}
},"个人",)
其实 复选也一样! checkBoxlist
MVC readioButtonList的创作过程及运用的更多相关文章
- 一个简单的Redis结合Spring MVC架构以及实现过程
为了加快开发人员对公司项目的理解.更加容易入手和对公司项目的整体把控. 整体框架 首先介绍公司项目的整体框架,闲话少说,直接上图 整体性能分析 这就是公司的一个整体的架构,为了开发人员对架构的侧重点的 ...
- Asp.Net MVC路由生成URL过程
这次谈一谈Asp.Net MVC中所学到的路由生成URL的相关技术,顺便提一提遇到的一些坑,真的是掉坑掉多了,也就习以为常了,大不了从坑里再爬出来.初学者,包括我,都以为,mvc的核心是模型视图控制器 ...
- 了解 MVC 应用程序执行过程
发送给基于 ASP.NET MVC 的 Web 应用程序的请求首先通过 UrlRoutingModule 对象(一个 HTTP 模块)进行传递. 此模块将分析请求并执行路由选择. UrlRouting ...
- ASP.NET MVC 创建控制器类过程
MvcHandler.ProcessRequestInit()方法: 1.1获取控制器的名称string requiredString = this.RequestContext.RouteData. ...
- spring 5.1.2 mvc RequestMappingHandlerMapping 调用handler过程
https://my.oschina.net/zhangxufeng/blog/2177464 https://www.jianshu.com/p/447826c28e37 Interceptors ...
- MVC的HTTP请求处理过程(IIS应用程序池、CLR线程池)
主要内容 本文讲解的是:服务器接受Http Request请求之后,是如何进入.Net CLR,从而进一步操作的. 我们大家都知道,IIS必须先接受请求,然后才能有机会进入CLR,但对请求(reque ...
- [MVC]在练习MusicStore过程中问题实录
1,问题描述:MVC在添加基于框架的控制器时,出现无法检索xxx的元数据 参考目录:http://www.cnblogs.com/0banana0/p/4050793.html#undefined 解 ...
- 分享一个漂亮WPF界面框架创作过程及其源码
本文会作为一个系列,分为以下部分来介绍: (1)见识一下这个界面框架: (2)界面框架如何进行开发: (3)辅助开发支持:Demo.模板.VsPackage制作. 框架源码如下所示. 本文介绍第(1) ...
- 分享一个漂亮WPF界面框架创作过程及其源码(转)
本文会作为一个系列,分为以下部分来介绍: (1)见识一下这个界面框架: (2)界面框架如何进行开发: (3)辅助开发支持:Demo.模板.VsPackage制作. 框架源码如下所示. 本文介绍第(1) ...
随机推荐
- .net Session延长过期时间
一.全局网站(即服务器)级 IIS-网站-属性-Asp.net-编辑配置-状态管理-会话超时(分钟)-设置为120,即为2小时,即120分钟后如果当前用户没有操作,那么Session就会自动过期. 二 ...
- c#基础 第二讲
判断一个人的体重是否为标准体重 计算公式:男生:体重(kg)-身高+100=±3(在此范围内为标准体重) 女生:体重(kg)-身高+110=±3 using System; using System. ...
- Java 字符串转成运算公式
GroovyShell 实现 public static void main(String args[]) { Binding binding = new Binding(); binding.set ...
- HDFS 常用Shell命令
HDFS Shell命令 概述 HDFS Shell命令允许使用命令行在HDFS存储中进行文件夹和文件操作. 如文件夹的增删改查.文件的增删改查等. 开始练习hadoop时,打开Linux之后要用 s ...
- 自建YUM仓库
YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系. 要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个 ...
- centos7修改hostname和hosts
1.修改/etc/hostname vi /etc/hostname 打开之后的内容是: localhost.localdomain 把它修改成想要的名字就可以,比如:master 保存退出 2.修改 ...
- Mysql2索引
索引分类: 作用:优化查询,select查询有三种情况:缓存查询(不在mysql中进行数据查询),全表查询,索引扫描 Btree(btree b+tree b*tree) Rtree HASH Ful ...
- (3.10)常用知识-T-SQL优化
关键字:SQL优化 总结: 1.书写问题 2.表连接方式 3.索引的抉择 4.执行计划之参数嗅探,使用提示强制执行计划 5.子查询与表连接的效率 6.临时表.CTE.表变量的选择 7.常用sp与sel ...
- python web框架 django 添加环境变量
C:\Users\Administrator.QH-20170325TNQR\AppData\Local\Programs\Python\Python36\Scripts把环境变量加上 可以在本地执行 ...
- C++入门(1)
#include<>直接从编译器自带的函数库中寻找文件 #include""是先从自定义的文件中找 ,如果找不到在从函数库中寻找文件 采用"< > ...