好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > asp.net MVC利用自定義ModelBinder過濾關鍵字的方法(附demo源碼下載)

asp.net MVC利用自定義ModelBinder過濾關鍵字的方法(附demo源碼下載)

熱門標簽:400電話辦理哪家性價比高 天心智能電銷機器人 濮陽外呼電銷系統怎么樣 代理接電話機器人如何取消 塔城代理外呼系統 遂寧市地圖標注app 地圖定位圖標標注 地圖標注專業團隊 地圖標注的公司有哪些

本文實例講述了MVC利用自定義ModelBinder過濾關鍵字的方法。分享給大家供大家參考,具體如下:

前面一篇主要講解了如何利用ActionFilter過濾關鍵字,這篇主要講解如何利用自己打造的ModelBinder來過濾關鍵字。

首先,我們還是利用上一篇《asp.net MVC利用ActionFilterAttribute過濾關鍵字的方法》中的實體類,但是我們需要加上DataType特性,以便于我們構造的ModelBinder通過DataTypeName識別出來:

using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;

namespace MvcApplication1.Models
{
   public class TestModel
   {
     public int TID { get; set; }
  
     [DataType("TName")]
     public string TName { get; set; }
  
     [DataType("TSite")]
     public string TSite { get; set; }
   }
}

然后我們新建一個FilterModelBinder的類,其中內容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcApplication1
{
   public class FilterModelBinder:DefaultModelBinder
   {
     public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
     {
       var valueShouldFilter = bindingContext.ModelMetadata.DataTypeName;
       if (valueShouldFilter == "TName" || valueShouldFilter == "TSite")
       {
         var resultProvider = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
         if (resultProvider != null)
         {
           string result = resultProvider.AttemptedValue;
           result = result.Replace("", "lt;").Replace(">", "gt;");
           return result;
         }
       }
  
       return base.BindModel(controllerContext, bindingContext);
     }
   }
}
 

第13行,主要是獲取我們需要驗證的DataTypeName.

第15行,獲取需要驗證的值,然后替換,最后返回即可.

 上面做完后,在Global.asax中,我們需要指定一下:

protected void Application_Start()
{
   AreaRegistration.RegisterAllAreas();

   WebApiConfig.Register(GlobalConfiguration.Configuration);
   FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
   RouteConfig.RegisterRoutes(RouteTable.Routes);
   BundleConfig.RegisterBundles(BundleTable.Bundles);

   ModelBinders.Binders.DefaultBinder = new FilterModelBinder();
}

這樣,我們就能使用我們自己的ModelBinder了,下面開始測試:

我們輸入的內容如上圖所示,當點擊”添加”按鈕的時候,確彈出如下的錯誤提示:

看來,系統會自動檢測我們的輸入值,發現有非法字符,會彈出錯誤提示,還好我們可以通過web.config配置一下,讓其通過驗證:

打開最外層的Web.config,輸入以下節點:

configuration>
  system.web>
  httpRuntime requestValidationMode="2.0" />
  /system.web>
  pages validateRequest="false">
  /pages>
/configuration>

然后保存,運行,我們看到,系統成功跑了起來,最后的結果如下:

我們可以看到,通過我們自定義的ModelBinder,系統自動將非法字符進行了替換,非常方便。

MVC中處處AOP,現在我們就可以利用現有的知識做一個全局過濾器了。是不是感覺很方便呢?

完整實例代碼點擊此處本站下載。

希望本文所述對大家asp.net程序設計有所幫助。

您可能感興趣的文章:
  • Android深入淺出之Binder機制
  • Android進程間通信(IPC)機制Binder簡要介紹
  • 理解Android系統Binder機制
  • Android4.1中BinderService用法實例分析
  • android IPC之binder通信機制
  • 一個用xslt樣式將xml解析為xhtml的類TransformBinder(兼容FF和IE7.0)
  • 淺談Service Manager成為Android進程間通信(IPC)機制Binder守護進程之路

標簽:河南 麗江 本溪 汕頭 宜春 重慶 吉林 婁底

巨人網絡通訊聲明:本文標題《asp.net MVC利用自定義ModelBinder過濾關鍵字的方法(附demo源碼下載)》,本文關鍵詞  asp.net,MVC,利用,自定義,ModelBinder,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《asp.net MVC利用自定義ModelBinder過濾關鍵字的方法(附demo源碼下載)》相關的同類信息!
  • 本頁收集關于asp.net MVC利用自定義ModelBinder過濾關鍵字的方法(附demo源碼下載)的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 波多野结衣系列miaa-165| 电梯内性行为视频| 国产做受???蜜臀777cos| 午夜色站| yeezy380蜜桃粉和白色| 51社区精品视频在线播放软件 | 女上男下吸奶动态图| 总攻肉| 亚洲午夜精品17c| 午夜伦92影院| www.亚洲视频.com| 老师…好紧开裆蕾丝内裤| 666rt人体写真| 被客人摸得下面忍不住| 午夜宅男在线观看| 亚洲AⅤ无码精品色情午夜毛片| 最新欧美在线| 国产精品一区二区三区在线观看| 国产精品亚洲AV色欲三区不卡| 乱俄罗斯伦| 托克逊县| 躺在我跨下的英语老师| 色戒在线观看未删减版在线字幕电影网站| 三浦理惠子Av片-88AV| 人妻熟女亂倫綜合色| 深夜日本在线观看免费完整版视频| 国产精品秘?麻豆免费版| 丝袜中出制服人妻美腿 | 国内精品久久久久影院欧美| 他的花蒂被揉得又红又肿怎么回事| 湿儒女人| 桃子直播免费完整版在线观看| 麻豆久久婬片AA片在線觀看| 刘玥91精品一区二区三区黑狼人| 97色伦欧美自拍视频| chinesefootjob佳佳调教| 被几个人折磨的虐乳文| 美女又爽?又黄?偷拍夜巴黎| 西施| 激情公交车短篇小说| 日本叉叉|