zoukankan      html  css  js  c++  java
  • .Net MVC3.0数据验证之伙伴类的使用

    
    
    // 使用EF的时候如果修改数据库重新生成EF里的model会被覆盖,写在上面的验证规则也会被覆盖,所以用伙伴类,创建强类型视图指向 UserInfo  model 

    using
    System; using System.Collections.Generic; using System.Linq; using System.Web; using System.ComponentModel.DataAnnotations; namespace MvcApp.Models {
    public class UserInfoValidate { [Required(ErrorMessage="编号不能为空")] public int ID{ get; set; } [Required(ErrorMessage="用户名不能为空")] public string UserName { get; set; } } [MetadataType(typeof(UserInfoValidate))] public partial class UserInfo { }
    
    
    }
    <%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApp.Models.UserInfo>" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>CreateUser</title>
        <style type="text/css">
        .txt{color:Red}
        
        </style>
    </head>
    <body>
    <%Html.EnableClientValidation(); %>
        <script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
        <script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
        <script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>
        <% using (Html.BeginForm()) {%>
            <%: Html.ValidationSummary(true) %>
    
            <fieldset>
                <legend>Fields</legend>
                
                <div class="editor-label">
                    <%: Html.LabelFor(model => model.ID) %>
                </div>
                <div class="editor-field">
                    <%: Html.TextBoxFor(model => model.ID) %>
                    <%: Html.ValidationMessageFor(model => model.ID, "", new {@class="txt" })%>
                </div>
                
                <div class="editor-label">
                    <%: Html.LabelFor(model => model.UserName) %>
                </div>
                <div class="editor-field">
                    <%: Html.TextBoxFor(model => model.UserName) %>
                    <%: Html.ValidationMessageFor(model => model.UserName) %>
                </div>
                
                <div class="editor-label">
                    <%: Html.LabelFor(model => model.UserPass) %>
                </div>
                <div class="editor-field">
                    <%: Html.TextBoxFor(model => model.UserPass) %>
                    <%: Html.ValidationMessageFor(model => model.UserPass) %>
                </div>
                
                <div class="editor-label">
                    <%: Html.LabelFor(model => model.RegTime) %>
                </div>
                <div class="editor-field">
                    <%: Html.TextBoxFor(model => model.RegTime) %>
                    <%: Html.ValidationMessageFor(model => model.RegTime) %>
                </div>
                
                <div class="editor-label">
                    <%: Html.LabelFor(model => model.Email) %>
                </div>
                <div class="editor-field">
                    <%: Html.TextBoxFor(model => model.Email) %>
                    <%: Html.ValidationMessageFor(model => model.Email) %>
                </div>
                
                <p>
                    <input type="submit" value="Create" />
                </p>
            </fieldset>
    
        <% } %>
    
        <div>
            <%: Html.ActionLink("Back to List", "Index") %>
        </div>
    
    </body>
    </html>
  • 相关阅读:
    VS2005 Web安装程序 创建程序菜单组
    文件夹 文件 加入/去除 Everyone全控
    [转]asp.net 部署数据库、开始菜单、桌面快捷方式实例
    身边的贵人
    AppCode下的cs类 取得相关路径
    遭遇“windows已经阻止此软件因为无法验证发行者”
    成功不是忽悠
    关于 软件注册授权 防止被大面积免费扩散 的设想
    [转]获取机器的硬件信息(CPU ID序列号, 主板信息,硬盘序列号,系统信息)
    递交辞呈之后
  • 原文地址:https://www.cnblogs.com/kongsq/p/5865982.html
Copyright © 2011-2022 走看看