首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑

Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑

作者头像
阿新
发布于 2018-04-12 09:37:52
发布于 2018-04-12 09:37:52
1.3K00
代码可运行
举报
文章被收录于专栏:c#开发者c#开发者
运行总次数:0
代码可运行

Asp.net Dynamic Data之四定义字段的显示/编辑模板和自定义验证逻辑

Asp.net Dynamic data提供了一些字段模板有比如在Detail View/ListView中显示用的和在Edit View/Insert View中使用的编辑字段,同时也可以自定义你所需要的字段模板。和特殊的显示格式。

    比如:我们需要对日期类型的输出进行格式化{0:yyyy-mm-dd},对于日期的编辑我需要使用一个编辑控件供我们选择;

一些常用的校验比如该字段是Int型并且编辑时候大小在1-100之间,显示的时候对不不同的值加于颜色的区别。

    比如我们需要对输入字段的值进行更严格的业务逻辑或是上下文的关联的验证那又要如何实现呢。

DEMO1

下面我们来看看如何实现这些效果最简单如何格式化显示字段内容,下面是三种不同的显示格式

代码

Partial Order 类是LINQ实体中定义的Order;在上面加上MetadataType的特性,下面定义一个MetadataOrder的内容,字段名需要和Order中定义的一致,然后在字段上加上显示格式的特性DisplayFormat(Dataformatstring),当然还支持多种数字类型字符窜类型;从上我们还看到有一个UIHint特性,定义显示或是编辑时使用的字段模板,比如UIHint("DevDateTime")使用自己定义的日期字段模板,Rang(1,100,ErrorMessage)这个就定义简单的验证逻辑类似ValidateControl。

DEMO2

自定义字段模板根据数字显示不同的颜色

代码

CustomFieldTemplate.ascx

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<%@ Control Language="C#"  AutoEventWireup="true"  
CodeFile="CustomFieldTemplate.ascx.cs"  
Inherits="DynamicData_FieldTemplates_CustomFieldTemplate" %> 
<asp:Label runat="server" ID="Label1" Text="<%# FieldValueString %>" /> 
CustomFieldTemplate.ascx.cs 
public partial class DynamicData_FieldTemplates_CustomFieldTemplate :  
    System.Web.DynamicData.FieldTemplateUserControl { 
    public override Control DataControl { 
        get { 
            return Label1; 
        } 
    } 
    protected override void OnDataBinding(EventArgs e) 
    { 
        // Read current quantity value. 
        Int16 currentQty = (Int16)FieldValue; 
        if (FieldValue != null) 
        { 
            // Set quantity warning thresholds. 
            int min = 30; 
            int max = 1500; 
            if (currentQty < min) 
            { 
                // Quantity is less than the minimum  
                // warning threshold. 
                Label1.ForeColor = System.Drawing.Color.Red; 
                Label1.Font.Bold = true; 
            } 
            else 
                if (currentQty > max) 
                { 
                    // Quantity is greater than the maximum  
                    // warning threshold. 
                    Label1.ForeColor = System.Drawing.Color.Blue; 
                    Label1.Font.Bold = true; 
                } 
        } 
    } 
} 

自定义模板继承System.Web.DynamicData.FieldTemplateUserControl 具体的我就不多说了这一块比较简单

DEMO3

输入的ShipCity必须是R开头。

代码

你可以针对每个字段进行验证 ,这里要注意的是VaildationException而不是Exception;

另外你也可以根据不同操作区定义你的验证方式,比如Insert,Update,Delete

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-09-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
(二十)c#Winform自定义控件-有后退的窗体
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
4920
(二十)c#Winform自定义控件-有后退的窗体
Vs.net 2008 sp1新特性之Dynamic Data Web Site
Vs.net 2008 sp1新特性之Dynamic Data Web Site 介绍 asp.net的动态数据,是一个web site开发框架,可让您很容易建立数据驱动的asp.net的Web应用程序。通过自动获取数据模型元数据在运行时产生的用户界面和行为。在这个框架内提供了一个查看和编辑数据的网站。您可以轻松地自定义控件和页面元素或建立新的预设的行为。同时创建的应用能够轻松集成数据和页面中的元素绑定。 功能 通过读取数据库的结构或是数据模型,生成标准的asp.net web UI表单 支持数据
阿新
2018/04/12
1.7K0
Vs.net 2008 sp1新特性之Dynamic Data Web Site
Asp.Net MVC4入门指南(10):第三方控件Studio for ASP.NET MVC4 工具应用
ComponentOne Studio for ASP.NET最新版本2013V1支持MVC4,其中包括: 新增 MVC 4 工程模板 (C# & VB) 开箱即用的MVC 4 工程模板基于Microsoft内置模板创建,我们仅优化了标记和CSS样式为默认风格,熟悉的模板布局和界面风格,无疑将缩短您的学习过程、节省开发时间及提高开发效率。 新增国际化主题(Metro) MVC4 模板自动增强MVC Scaffolding模板,将会为您应用程序中的增删改查(CRUD)操作生成默认的模板文件,这些生成的文件为
葡萄城控件
2018/01/10
1.7K0
Asp.Net MVC4入门指南(10):第三方控件Studio for ASP.NET  MVC4 工具应用
ASP.NET MVC 2示例Tailspin Travel UI层分析
Tailspin Travel 是一个旅游预订的应用程序示例,最新版本采用ASP.NET MVC 2技术构建,主要使用 DataAnnotations 验证, 客户端验证和ViewModels,还展示了许多Visual Studio 2010, .NET Framework 4, 和Windows Server AppFabric的技术,参看ASP.NET MVC 2示例Tailspin Travel。 Tailspin Travel设计的技术比较多,今天我们来看看界面(UI)上的技术,在UI层上来说主要采
张善友
2018/01/22
1.8K0
(六)c#Winform自定义控件-单选框
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
9500
(六)c#Winform自定义控件-单选框
ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
ASP.NET MVC通过Model验证帮助我们很容易的实现对数据的验证,在默认的情况下,基于ValidationAttribute的声明是验证被使用,我们只需要将相应的ValidationAttribute应用到Model的类型或者属性上即可。对于自定义验证,我们也只需要定义相应的Validation就可以了,不过服务端验证比较简单,而客户端验证就要稍微复杂一些,本文提供一个简单的实例说明在ASP.NET MVC中实现自定义验证的基本步骤。[源代码从这里下载] 一、AgeRangeAttribute 用
蒋金楠
2018/01/15
4.1K0
ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
ASP.NET MVC下的四种验证编程方式
ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定。总地来说,我们可以采用4种不同的编程模式来进行针对绑定参数的验证。 目录 一、手工验证绑定的参数 二、使用ValidationAttribute特性 三、让数据类型实现IValidatableObject接口 四、让数据类型实现IDataErrorIn
蒋金楠
2018/01/15
1.6K0
ASP.NET MVC下的四种验证编程方式
Asp.net dynamic Data web Site 之二创建第一个Web Site
Asp.net dynamic Data web Site 之二创建第一个Web Site 本专题介绍一个ASP.NET动态数据的网站的布局,其中包括这些文件默认情况下创建相关文件夹和文件。 创建一个动态数据网站(Dynamic Data Web Site) 环境 vs.net 2008 + sp1 Dynamic Data Wizard 080608(http://www.codeplex.com/aspnet) 提供一个向导方式创建一个Dynamic Data Web Site 知识点:
阿新
2018/04/12
1.5K0
Asp.net dynamic Data web Site 之二创建第一个Web Site
(五)c#Winform自定义控件-复选框
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
7910
(五)c#Winform自定义控件-复选框
(十一)c#Winform自定义控件-列表
GitHub:https://github.com/kwwwvagaa/NetWinformControl
冰封一夏
2019/09/11
1.3K0
(十一)c#Winform自定义控件-列表
【ASP.NET Core 基础知识】--MVC框架--Models和数据绑定
Models和数据绑定在ASP.NET Core MVC中扮演着关键的角色,对于构建强大、灵活和可维护的Web应用程序至关重要。这一节我们就来讲一下。
喵叔
2024/01/12
1.7K0
ASP.NET MVC的Model元数据与Model模板:预定义模板
通过ModelMetadata表示的Model元数据的一个主要的作用在于为定义在HtmlHelper和HtmlHelper<TModel>中的模板方法(这些模板方法包括Display/DisplayFor、Editor/EditorFor、DisplayForModel/EditForModel、Lable/LabelFor和DisplayText/DisplayTextFor等)提供用于最终生成HTML的元数据信息。在调用这些方法的时候,如果我们指定了一个具体的通过分部View定义的模板,或者对应的Mod
蒋金楠
2018/01/15
6K0
ASP.NET MVC的Model元数据与Model模板:预定义模板
ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
1.母版页是与Controller无关的,母版页只是一个View文件,而没有任何Controller与之相对应。
重典
2022/04/11
1.3K0
ASP.NET MVC 重点教程一周年版 第十一回 母版页、用户自定义控件及文件上传
ASP.NET MVC的客户端验证:jQuery的验证
之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对请求数据实施验证。如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解W
蒋金楠
2018/01/15
8.5K0
ASP.NET MVC的客户端验证:jQuery的验证
Asp.Net 用户验证(自定义IPrincipal和IIdentity)
前一段时间有两个朋友问我,为什么在HttpModule中无法获得到Session值,因为他们希望自定义一个HttpModule,然后在其中获取Session来进行用户验证。我奇怪为什么不使用.Net Framework已经提供的验证机制,而要和Asp时一样,自己手工进行cookie+Session验证?我们是基于.Net Framework这个平台进行编程,所以我觉得,在很多情况下,使用Framework已经建立好的机制会显著地提高工作效率,而且.NET Framework内置的验证机制通常也更加安全。
张子阳
2018/09/30
1.9K0
Asp.Net 用户验证(自定义IPrincipal和IIdentity)
ASP.NET设计应用程序的七大绝招
随着微软.NET的流行,ASP.NET越来越为广大开发人员所接受。作为ASP.NET的开发人员,我们不仅需要掌握其基本的原理,更要多多实践,从实践中获取真正的开发本领。在我们的实际开发中,往往基本的原理满足不了开发需求,我们更多的要积累一些开发技巧,本文就向大家介绍一些实用技巧,希望对大家的开发有所裨益。
Java架构师必看
2021/03/22
7660
ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
 1. 处理程序文件 ValidateImageHandler.ashx代码如下
Java架构师必看
2021/03/22
1.2K0
ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)
ASP.NET MVC Model元数据及其定制: Model元数据的定制
在《上篇》我们已经提到过了,Model元数据的定制是通过在作为Model的数据类型极其属性成员上应用相应的特性来实现,这些用于声明式元数据定义的特性大都定义在System.ComponentModel
蒋金楠
2018/03/02
1.9K0
ASP.NET-框架分类与详解
ASP.NET是由微软公司推出的一种基于.NET框架的服务器端Web应用程序开发技术。它提供了丰富的工具和框架,用于开发各种规模的Web应用程序和服务。ASP.NET具有高度的灵活性和可扩展性,适用于不同规模和复杂度的项目。
Damon小智
2024/03/17
4490
ASP.NET-框架分类与详解
【小技巧】自定义asp.net mvc的WebFormViewEngine修改默认的目录结构
默认的情况是所有的****Controller.cs文件都会放在Web程序集下的一个叫Controllers的文件夹下
liulun
2022/05/09
5490
【小技巧】自定义asp.net mvc的WebFormViewEngine修改默认的目录结构
推荐阅读
相关推荐
(二十)c#Winform自定义控件-有后退的窗体
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档