加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

集成Twitter Bootstrap与Asp.net MVC 3形式

发布时间:2020-12-18 00:09:07 所属栏目:安全 来源:网络整理
导读:我使用Asp.net MVC 3和Twitter Bootstrap。我想要的是集成他们。我的大问题是形式。我使用HtmlHelper,它是一个问题,当涉及到验证,我想要它生成HTML像这样: div class="control-group error" label for="field" class="control-label"OMG this label is s
我使用Asp.net MVC 3和Twitter Bootstrap。我想要的是集成他们。我的大问题是形式。我使用HtmlHelper,它是一个问题,当涉及到验证,我想要它生成HTML像这样:
<div class="control-group error">
   <label for="field" class="control-label">OMG this label is so awesome: </label>
   <div class="controls">
      <input type="text" name="field" id="field" value="yeah" />
      <span class="help-inline">Eventually some error :C</span>
   </div>
</div>

这里是我的HtmlHelper代码:

@Html.LabelFor(x => x.Field)
@Html.EditorFor(x => x.Field)
@Html.ValidationMessagesFor(x => x.Field)

问题是,我想要的最外面的div上的类错误只有当这个字段中实际上有错误时才被设置。其他问题是,我不知道如何强制使用span标签的错误。我可以在HtmlHelper中编写我的方法,但它会让我重新实现LabelFor,EditorFor和ValidationMessageFor的几乎所有的功能。有更简单的方法吗?而不引人注目的验证呢?

解决方法

我遇到同样的挑战和一些帮助的标签(见下文),这里是我得到:
<div class="control-group @if (!ViewData.ModelState.IsValidField("Name")) { @Html.Raw("error"); }">
    @Html.LabelFor(model => model.Name,new {@class = "control-label"})
    <div class="controls">
        @Html.EditorFor(model => model.Name)
        @Html.ValidationMessageFor(model => model.Name,null,new {@class = "help-inline"})
    </div>
</div>

Html.Label实现:http://stackoverflow.com/a/6722082

我没有尝试用unstrstrusive验证,但它似乎你只需要激活它。

如果你正在寻找一个全局错误,你应该使用类似:

@if (ViewData.ModelState.IsValid == false) {
    <div class="alert alert-error"><button class="close" dismiss="alert">x</button><!-- some text--></div>
}

这里有一个活的例子(法语):http://ws.sherbrow.fr/auth

整个项目的源代码应该有一段时间可用(见我的个人资料 – 或直接问我)。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读