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) ...
随机推荐
- 如何把IOS应用,发给别人测试?
ios应用,除了用XCODE连接真实设备调试以外,也可以制作ipa安包,发给别人测试.下面是具体步骤: 1. 把要测试的设备标识添加到你苹果开发账号的调试设备里.(可以用xcode或者itools查看 ...
- JDBC通用DAO
dbcBaseDao接口,内容如下: package com.sun4j.core.jdbc.dao; import java.io.Serializable; import java.util.Li ...
- sssssss
1dispatcherServlet—拦截到spring mvc的请求 2dispatchServlet调用HandlerMapping( DefaultAnnoationHandlerMapping ...
- APNS/苹果推送服务
Apple Push Notification Service Google Cloud Message/Google 云 消息 Firebase Cloud Messaging
- Servlet------>jsp jstl核心标签库
这里不需要刻意记,在jar里,c.tld文件都有,可以自己找源码看
- 适配器模式(Adpater)
一.适配器模式介绍 适配器模式:将一个类的接口转换成客户希望的另外一个接口.Adapter模式使得原本由于接口不兼容而不能一起工作的类可以一起工作. 例如: NBA中的球员来自不同国家,而世界标准语言 ...
- Service Mesh服务网格:是什么和为什么
Service Mesh服务网格:是什么和为什么 - 好雨云帮 CSDN 博客 - CSDN博客 https://blog.csdn.net/zyqduron/article/details/8043 ...
- PXE,ipmi,bare metal
IPMI(Intelligent Platform Management Interface)是一个智能平台管理接口. 用户可以利用IPMI 监视服务器等设备的物理特征,如各部件的温度.电压.风扇工作 ...
- angular(二)
angularjs第二章 自定义指令 scope 控制器 AngularJS控制器控制AngularJS应用程序的数据,是常规的JavaScript对象. ng-controller指令就是用来定义应 ...
- golang的指针和切片
首先为什么要讲go的指针和切片放在一起? 因为go指针和切片都是引用类型 引用类型就是说切片和指针保存的只是内存的地址,而不是具体的值,效率在大数据读取方面效率会高很多. 1.怎么定义一个切片 方法1 ...