使用MVC 4验证实现Twitter Bootstrap的任何方法?而不是使用jque
发布时间:2020-12-17 21:22:49 所属栏目:安全 来源:网络整理
导读:正如标题中所提到的,任何建议都将受到赞赏.另外,无论如何要知道如何实现 jquery从下拉列表中发布数据,选中框到MVC 4服务器端并回复? 喜欢,哇用Twitter Bootstrap组件实现System.Web.Mvc. Html和System.Web.Mvc.Ajax库? http://twitter.github.com/bootstra
正如标题中所提到的,任何建议都将受到赞赏.另外,无论如何要知道如何实现
jquery从下拉列表中发布数据,选中框到MVC 4服务器端并回复?
喜欢,哇用Twitter Bootstrap组件实现System.Web.Mvc. Html和System.Web.Mvc.Ajax库? http://twitter.github.com/bootstrap/ 解决方法
这是一个HtmlHelper扩展方法,它将使用Twitter Bootstrap错误警报(列出模型错误).
用途: @Html.ValidationSummaryBootstrap(); 多个模型错误的结果示例: 单个模型错误会导致如下所示: 这是代码:(要突出显示字段 – 请参阅此答案的底部). using System.Linq; namespace System.Web.Mvc { public static class HtmlExtensionMethods { /// <summary> /// Returns an error alert that lists each model error,much like the standard ValidationSummary only with /// altered markup for the Twitter bootstrap styles. /// </summary> public static MvcHtmlString ValidationSummaryBootstrap(this HtmlHelper helper,bool closeable) { # region Equivalent view markup // var errors = ViewData.ModelState.SelectMany(x => x.Value.Errors.Select(y => y.ErrorMessage)); // // if (errors.Count() > 0) // { // <div class="alert alert-error alert-block"> // <button type="button" class="close" data-dismiss="alert">×</button> // <strong>Validation error</strong> - please fix the errors listed below and try again. // <ul> // @foreach (var error in errors) // { // <li class="text-error">@error</li> // } // </ul> // </div> // } # endregion var errors = helper.ViewContext.ViewData.ModelState.SelectMany(state => state.Value.Errors.Select(error => error.ErrorMessage)); int errorCount = errors.Count(); if (errorCount == 0) { return new MvcHtmlString(string.Empty); } var div = new TagBuilder("div"); div.AddCssClass("alert"); div.AddCssClass("alert-error"); string message; if (errorCount == 1) { message = errors.First(); } else { message = "Please fix the errors listed below and try again."; div.AddCssClass("alert-block"); } if (closeable) { var button = new TagBuilder("button"); button.AddCssClass("close"); button.MergeAttribute("type","button"); button.MergeAttribute("data-dismiss","alert"); button.SetInnerText("x"); div.InnerHtml += button.ToString(); } div.InnerHtml += "<strong>Validation error</strong> - " + message; if (errorCount > 1) { var ul = new TagBuilder("ul"); foreach (var error in errors) { var li = new TagBuilder("li"); li.AddCssClass("text-error"); li.SetInnerText(error); ul.InnerHtml += li.ToString(); } div.InnerHtml += ul.ToString(); } return new MvcHtmlString(div.ToString()); } /// <summary> /// Overload allowing no arguments. /// </summary> public static MvcHtmlString ValidationSummaryBootstrap(this HtmlHelper helper) { return ValidationSummaryBootstrap(helper,true); } } } 对于单个字段,我有点懒,只是将其编码到视图中(待重构). <div class="control-group @if (!ViewData.ModelState.IsValidField("UserName")) { @Html.Raw("error"); }"> <label class="control-label" for="UserName">User name</label> <div class="controls"> <div class="input-prepend input-append"> <span class="add-on"><i class="icon-user"></i></span> @Html.TextBoxFor(x => x.UserName,new { @class = "input-medium",@required = true }) <input class="btn" type="button" value="Check" /> </div> </div> </div> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |