ASP.NET MVC£ºÈçºÎʵÏÖÒ»¸ö×Ô¼ºµÄModelBinder£¿
»·¾³£º
Windows 2008, VS 2008 SP1, Asp.Net Mvc RC1
------------------------------------------------------------------------------
ÉÏÎÄ£ºAsp.Net Mvc: Model Binding »úÖÆ·ÖÎö ÖУ¬ÎÒÃǼòµ¥·ÖÎöÁËAsp.Net MvcÖÐModel BindingµÄ¹ý³Ì£¬·Ç³£´Ö²Ú£¬±¾ÎĽ«Ì½Ë÷ÈçºÎʵÏÖÒ»¸ö×Ô¼ºµÄModelBinder£¬²¢½øÒ»²½Õ¹Ê¾Ç°ÎĺöÂÔµÄÈô¸Éϸ½Ú¡£
¼ÙÉ裬ÎÒÃÇÏÖÔÚÓÐÒ»¸öBookÀ࣬
ÏÖÔÚÎÒÃÇҪʵÏÖÌí¼ÓBookµÄ¹¦ÄÜ£¬Òò´Ë£¬Ð½¨Ò»¸öBookController£¬²¢ÇÒ¼ÓÈëÒ»¸öAction:
½¨Á¢ÏàÓ¦µÄView£º
Æäʵ£¬µ½ÕâÒ»²½£¬µ±ÎÒÃÇÌá½»±íµ¥µÄʱºò£¬ÔÚActionÀïÃæÒѾ¿ÉÒÔ»ñµÃBook×Ô¶¯°ó¶¨£¬Õâ¹é¹¦ÓÚÄÚ½¨µÄDefaultModelBinder¡£µ«ÊÇ£¬ÎÒÃÇ»ùÓÚijÖÖ¿¼ÂÇ£¬ÏëҪʹÓÃ×Ô¼º´´½¨µÄModelBinder¡£ÓÚÊÇ£¬ÎÒÃǽÓ×Å´´½¨Ò»¸öSimpleModelBinderÀ࣬¸ÃÀàʵÏÖÁËIModelBinder½Ó¿Ú£¨×Ô¶¨ÒåµÄModelBinder±ØÐëʵÏÖÕâ¸ö½Ó¿Ú£©¡£
IModelBinderÖ»ÓÐÒ»¸ö·½·¨BindModel()£¬Õâ¸ö·½·¨½ÓÊÜÁ½¸ö²ÎÊý£ºControllerContext, ModelBindingContext£¬Òò´Ë£¬ÎÒÃÇÔÚʵÏÖÕâ¸ö·½·¨µÄʱºò£¬±ãÐèÒªºÃºÃÀûÓÃÕâÁ½¸ö²ÎÊý°üº¬µÄÐÅÏ¢¡£
ÏÖÔÚÀ´¿´SimpleModelBinderµÄ¾ßÌåʵÏÖ£º
ÉÏÃæ£¬ÎÒ¾¡Á¿±ÜÃâÓ²±àÂ룬ÒòΪÎÒÏ£ÍûÕâ¸öSimpleModelBinder¾ßÓÐÒ»¶¨µÄͨÓÃÐÔ¡£´ËÍâÒ²±ÜÃâModel×Ö¶ÎÃû³Æ¸ü¸ÄµÄÁ¬Ëø·´Ó¦¡£ÕâÀÎÒÃÇͨ¹ýbindingContext.ModelTypeÀ´´´½¨Ò»¸öModelʵÀý£¬Í¨¹ýTypeDescriptorÀ´»ñÈ¡ModelµÄProperty¼¯ºÏ£¬Í¨¹ýbindingContext.ValueProviderÀ´È¡µÃRequestµÄ±íµ¥ÐÅÏ¢£¬×îºó·µ»ØÒ»¸öModelʵÀý¡£
ÕâÑù£¬ÎÒÃǵÄSimpleModelBinder¾Í´´½¨ÍêÁË¡£ÄÇô£¬ÈçºÎÈÃËü¿ªÊ¼¹¤×÷ÄØ£¿
ÓÚÊǾÍÒý³öÒ»¸öÎÊÌ⣺Asp.Net MvcÈçºÎÈ·¶¨µ±Ç°ÐèÒªÓ¦ÓÃÄĸöModelBinder£¿
´ð°¸ÊÇ£º°´ÏȺó˳Ðò£º(1)Action·½·¨ÖÐModelµÄ²ÎÊýµÄAttribute£¬(2) ModelBinders.Binders×ֵ䣬(3) ModelÀàµÄAttribute£¬(4) DefaultModelBinder
Ò²¾ÍÊÇ˵£¬ÎÒÃÇÓÐ(1)(2)(3)ÈýÖÖ·½·¨À´¸æËßAsp.Net Mvcµ±Ç°ÎÒÃÇÆÚÍûÓ¦ÓÃÄĸöModelBinderµ½ÄĸöModel¡£
(1) ÔÚActionµÄModel²ÎÊýÉϼÓAttribute:
(2) ½«SimpleModelBinderÌí¼Óµ½ModelBinders.Binders×ÖµäÖУº
(3) ÔÚBookÀඨÒåʱ¼ÓÉÏAttribute£º
ºÃÀ²£¬Èý¸ö·½·¨ÈÎÓÉÄãÑ¡Ôñ¡£
ÕâÀÎÒÃÇ´´½¨ÁËÒ»¸öºÜ¼òµ¥µÄ×Ô¶¨ÒåµÄModelBinder£¬µ«ÄãÊÇ·ñÖªµÀËüÖÁÉÙ»¹È±Ê§ÁËÒ»¸öºÜÖØÒªµÄ¹¦ÄÜ£¬¾ÍÊǰó¶¨Ê±¶ÔModelµÄPropertyµÄ¹ýÂË£¬ÒòΪһֱÒÔÀ´ÎÒ¶¼°ÑBindAttributeÕâ¸ö³ÉÔ±¸øºöÊÓÁË¡£ÏÂÆª£¬ÎÒÃǾÍÀ´Ì¸Ì¸BindAttribute£¬²¢¶ÔSimpleModelBinder×öÉÔÉÔµ
Ïà¹ØÎĵµ£º
AutoPostBackÄÄÈ¥ÁË?
´ÓǰʹÓÃweb
Form¿ª·¢µÄ³ÌÐòÔ±¾³£»áÎʵ½AutoPostBackÅÜÄÄÈ¥ÁË£¿Ê¹ÓÃIDE£¬²¢ÇÒÔÚAutoPostBack´ò¸ö¹´ÊǷdz£ÈÝÒ׵ġ£¶øÕýÊÇÒòΪÈÝÒ×ʹ
Óã¬ËùÒÔ´ó¶à¿ª·¢ÈËÔ±²»»áÈ¥ÏëAutoPostBackÊÇÔõÑùµÄ»úÖÆ¡£Êµ¼ÊÉÏ£¬Èç¹ûÄãÑ¡ÔñAutoPostBack£¬ÔòDropDownList»á±»Ìí¼Ó
Ò»¸öÒý·¢javascriptʼþµÄonchangeÊôÐÔ£¬µ¼ÖÂD ......
·Ï»°²»Ëµ£¬Ö±½Ó´úÂ벿·Ö´úÂëÕª³×ÔÍøÉÏ£¬ÔÚ´ËÏëÔ×÷Õß±íʾ¸Ðл
1¡¢·þÎñ¶Ë uploadFile.ashx
<%@ WebHandler Language="VB" Class="UploadFile" %>
Imports System
Imports System.Web
Imports System.Web.HttpServerUtility
Imports System.IO
Imports System.Web.HttpRequest
Public Class UploadFile : Impl ......
1. ͼƬÎÊÌâ
·Ç³£ºÃ½â¾ö
<img runat="server" src="~/images/ad468x60.gif" alt="" />
¼ÓÉÏrunat="server" £¬Â·¾¶Ê¹Óþø¶Ô·¾¶~/»ù±¾ÉϾÍOKÁË¡£
2. CSSÎļþÒýÓÃ
<link rel="stylesheet" type="text/css" href="style.css" />
ÕâÀïÉñÆæµÄ¾ÍÊÇlinkµÄÎļþµÄhrefÊÇËæ×ű»·ÃÎÊÎļþµÄĿ¼½á¹¹×Ô¶¯µ÷Õû£¬Ëµ°×Á˾ ......
Õª³Ç°±²ÃǵÄ
ÆäʵҪʵÏÖÕâ¸ö¹¦ÄÜÖ÷Òª»¹ÊÇÒªÓõ½javascript
·½·¨Ò»£º
ÔÚasp.netµÄaspxÀïÃæµÄÔ´´úÂëÖÐ
<input type="button onclick="javascript:window.history.go(-1);"value="·µ»ØÉÏÒ»Ò³">
dzÎö£ºÕâ¸öÊÇÓÃÁËHTML¿Ø¼þ£¬Í¨¹ýÒ»¸öonclickµÄʼþ£¬µ÷ÓÃÁËjavascriptÖеÄÒ»¸ö·½·¨¾Í¿ÉÒÔÁË¡£Õâ¸öÊÇ×î¼òµ¥µÄÁË£¬Ò²Í¬Ñù ......
±¾ÎÄĿ¼£º
1.membership¼ò½é
2.membershipÔÚsql serverÖеÄÉèÖÃ
3.ÅäÖÃweb.config
4.´´½¨Óû§CreateUserWizard¿Ø¼þ
5.Óû§µÇ¼login¿Ø¼þ
6.ÏÔʾµ±Ç°Óû§µÄÃû³ÆLoginName¿Ø¼þ
7.¼ì²âÓû§µÄÉí·ÝÑé֤״̬µÄLoginStatus¿Ø¼þ
8.Ϊ²»Í¬Àà±ðÓû§³ÊÏÖ²»Í¬ÄÚÈݵÄLoginView¿Ø¼þ
9.¸ü¸ÄÃÜÂëµÄChangePassword¿Ø¼þ
10.×ÔÖúÕÒ» ......