日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

ASP.NET MVC擴展帶驗證的單選按鈕

瀏覽:482日期:2022-06-08 18:56:00

在ASP.NET MVC4中,HtmlHelper為我們提供了Html.RadioButton()方法用來顯示Radio Button單選按鈕。如果想顯示一組單選按鈕,通常的做法是遍歷一個集合把每個單選按鈕顯示出來。本篇嘗試寫一個擴展方法用來展示一組帶驗證的單選按鈕。

首先來擴展HtmlHelper,擴展方法中接收一個SelectListItem的集合,遍歷這個集合把每個單選按鈕顯示出來,并且讓這些單選按鈕具有不同的id屬性值。

using System.Collections.Generic;using System.Linq.Expressions;using System.Text;using System.Web.Mvc.Html;namespace System.Web.Mvc{    public static class HtmlExtensions     {public static MvcHtmlString RadioButtonListFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper,     Expression<Func<TModel, TProperty>> expression, IEnumerable<SelectListItem> list){    //獲取元數(shù)據(jù)    var metaData = ModelMetadata.FromLambdaExpression(expression, htmlHelper.ViewData);    var sb = new StringBuilder();    if (list != null)    {foreach (var item in list) {    //把屬性名和集合元素的Value值拼接作為元素的id    var id = string.Format("{0}_{1}", metaData.PropertyName, item.Value);    //創(chuàng)建單選按鈕    var label = htmlHelper.Label(id, HttpUtility.HtmlEncode(item.Text));    var radio = htmlHelper.RadioButtonFor(expression, item.Value, new {id = id}).ToHtmlString();    sb.AppendFormat("<div class=\"RadioButton\">{0}{1}</div>", radio, label); }    }    return MvcHtmlString.Create(sb.ToString());}    }}

假設,現(xiàn)在有一個View Model,其中的一個屬性要求必須。

using System.ComponentModel.DataAnnotations;namespace MvcApplication1.Models{    public class Vm    {[Required(ErrorMessage = "必填")]public int CityId { get; set; }    }}

以下City類的集合將作為所有Radio Button的數(shù)據(jù)源。

namespace MvcApplication1.Models{    public class City    {public int Id { get; set; }public string Name { get; set; }    }}

在HomeController中,提供一個Action方法啊,把City的集合轉(zhuǎn)換成SelectListItem集合傳遞給視圖。

using System.Collections.Generic;using System.Linq;using System.Web.Mvc;using MvcApplication1.Models;namespace MvcApplication1.Controllers{    public class HomeController : Controller    {public ActionResult Index(){    List<City> cities = new List<City>()    {new City(){Id = 1, Name = "青島"},new City(){Id = 2, Name = "濟南"},new City(){Id = 3, Name = "平度"}    };    ViewData["c"] = from c in citiesselect new SelectListItem() {Text = c.Name, Value = c.Id.ToString()};    return View(new Vm());}[HttpPost]public ActionResult Index(Vm vm){    if (ModelState.IsValid)    {return Content(vm.CityId.ToString());    }    else    {return View(vm);    }}    }}

在_Layout.csthml中,必須具備客戶端驗證js。

<head>    <meta charset="utf-8" />    <meta name="viewport" content="width=device-width" />    <title>@ViewBag.Title</title>    @Styles.Render("~/Content/css")    @Scripts.Render("~/bundles/jquery")    @Scripts.Render("~/bundles/jqueryval")</head><body>    @RenderBody()        @RenderSection("scripts", required: false)</body>

在Home/Index.chtml中,使用擴展方法顯示Radio Button組。

@model MvcApplication1.Models.Vm@{    ViewBag.Title = "Index";    Layout = "~/Views/Shared/_Layout.cshtml";}<style type="text/css">        .RadioButton { float:left; }</style>@using (Html.BeginForm("Index", "Home", FormMethod.Post, new {id = "addForm"})){    @Html.RadioButtonListFor(v => v.CityId, ViewData["c"] as IEnumerable<SelectListItem>)    @Html.ValidationMessageFor(v => v.CityId)        <input type="submit" value="提交"/>}

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

標簽: ASP.NET
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品久久一区| 日韩**一区毛片| 亚洲+小说+欧美+激情+另类| 自拍日韩欧美| 国产欧美日韩一级| 久久久久久婷| 国产视频一区在线观看一区免费| 91亚洲精品视频在线观看| 国产精品美女久久久| 亚洲一二av| 欧美激情99| 1000部精品久久久久久久久| 99久久激情| 国产精品社区| 麻豆国产欧美日韩综合精品二区| 美女视频黄久久| 精品国产午夜| 日韩精品久久久久久久电影99爱| 免费看av不卡| 好吊视频一区二区三区四区| 在线视频亚洲欧美中文| 蜜臀国产一区二区三区在线播放| 国产不卡精品| 日韩中文首页| 成人综合一区| 精品一区av| 国产精品99视频| 国产精品天堂蜜av在线播放| 91成人在线精品视频| 国产乱论精品| 国产日韩一区二区三区在线 | 亚洲无线一线二线三线区别av| 精品国产亚洲一区二区在线观看| 日韩中文字幕av电影| 免费视频国产一区| 国产亚洲一级| 天堂成人国产精品一区| 亚洲一区二区三区四区电影| 丝袜亚洲另类欧美| 日韩视频不卡| 国产综合欧美| 亚洲一区二区三区在线免费| 亚洲日本国产| 欧美日韩一区二区高清| 国产精品色婷婷在线观看| 国产一区二区三区黄网站| 四虎国产精品免费观看| 亚洲www啪成人一区二区| 欧美a级片一区| 综合激情网站| 国产一区三区在线播放| 亚洲日产av中文字幕| 欧美片第1页| 激情综合五月| 亚洲欧美不卡| 国产麻豆一区二区三区精品视频| 99视频精品全国免费| 青草国产精品久久久久久| 亚洲91精品| 欧美国产中文高清| 亚洲最新av| 成人在线视频区| 综合亚洲色图| a天堂资源在线| 国产精品一区二区三区美女 | 麻豆一区二区三区| 欧美不卡在线| 日韩精品网站| 久久这里只有精品一区二区| 亚洲91网站| 麻豆成人在线| 丝袜美腿高跟呻吟高潮一区| 日韩av福利| 国产精品日本一区二区三区在线| 久久不射网站| 欧美日韩激情| 激情婷婷综合| 午夜国产精品视频免费体验区| 久久精品成人| 亚洲激情二区| 精品五月天堂| 久久福利精品| 亚洲成人日韩| 神马午夜在线视频| 91亚洲自偷观看高清| 麻豆高清免费国产一区| 日本免费新一区视频| 蜜桃视频一区二区三区| 三级欧美韩日大片在线看| 国产精品专区免费| 色老板在线视频一区二区| 国产在线不卡一区二区三区| 欧美日韩亚洲一区在线观看| 日韩有吗在线观看| 欧美伊人影院| 久久丁香四色| 国产精品香蕉| 国产乱码精品一区二区三区四区| 日韩欧美中文在线观看| 97成人超碰| 国产精品欧美大片| 国内精品亚洲| 久久久精品网| 日韩视频久久| 综合日韩在线| 美女视频黄久久| 欧美日韩激情在线一区二区三区| 久久av一区| 91大神在线观看线路一区| 国产乱人伦丫前精品视频 | 在线日韩av| 在线精品视频在线观看高清| av最新在线| 啪啪亚洲精品| 久久亚洲风情| 亚洲电影在线一区二区三区| а√天堂8资源在线| 国产精品a久久久久| 欧美一区激情| 日韩高清中文字幕一区| 中文字幕一区二区三区四区久久 | jiujiure精品视频播放| 国产一区二区三区久久| 国产精品任我爽爆在线播放| 日韩一区精品| 日本不卡在线视频| 欧美激情视频一区二区三区免费| www.com.cn成人| 日本一不卡视频| 午夜精品成人av| 欧美视频二区| 99riav国产精品| 国产成人精品福利| 欧美日韩夜夜| 日韩中文字幕1| 国产美女亚洲精品7777| 亚洲一区二区三区免费在线观看| 国产精品一国产精品k频道56| 午夜一区在线| 影视先锋久久| 久久亚洲人体| 日韩精品免费观看视频| 在线日韩一区| 麻豆91精品91久久久的内涵| 久久都是精品| 伊人影院久久| 午夜久久福利| 久久精品国产福利| 动漫av一区| 欧美亚洲一区二区三区| 久久精选视频| 91精品啪在线观看国产18| 日本精品在线中文字幕| 精品成人免费一区二区在线播放| 久久精品国产999大香线蕉| 国产精品欧美在线观看| 精品亚洲成人| 日韩高清中文字幕一区二区| 欧美亚洲国产一区| 亚洲乱码久久| 久久不见久久见中文字幕免费| 精品在线网站观看| 日韩一区二区三区在线免费观看| 在线成人直播| 国产精品久久久久av电视剧| 亚洲欧美日韩专区| 久久国产精品美女| 亚洲免费在线| 精品国产亚洲一区二区三区大结局 | 国产亚洲激情| 国产成人精品亚洲线观看| 国产日本久久| 日韩精品导航| 视频精品一区| 日本不卡视频在线| 天堂久久av| 亚洲天堂资源| 久久精品国产99国产精品| 国产v日韩v欧美v| 婷婷国产精品| 午夜一级在线看亚洲| 麻豆精品网站| 国产精品巨作av| 亚洲精品亚洲人成在线观看| 久久gogo国模啪啪裸体| 国产亚洲一区二区手机在线观看| 2023国产精品久久久精品双| 成人在线超碰| 欧美特黄视频| 国产精品.xx视频.xxtv| 四虎884aa成人精品最新| 亚洲另类黄色| 国产日韩综合| 欧美91视频| 精品国产一区二| 亚洲欧美日韩精品一区二区| 国产精品久久久久av电视剧| 久久狠狠婷婷| 国产黄大片在线观看| 欧美亚洲人成在线|