ÎÒµÄTDDʵ¼ù£º¿É²âÊÔÐÔÇý¶¯¿ª·¢£¨ÖУ©

·¢±íÓÚ£º2009-11-26 15:58

×ÖÌ壺´ó ÖРС | ÉÏһƪ | ÏÂһƪ | ÎÒҪͶ¸å

 ×÷ÕߣºÀÏÕÔµãµÎ    À´Ô´£º51TestingÈí¼þ²âÊÔÍø²É±à

·ÖÏí£º

¡¡¡¡ÎÒÏÖÔÚ±ã¿ÉÒÔ¶ÔTokenizer½øÐгä·ÖµÄµ¥Ôª²âÊÔ£¬ÒÔÈ·±£ËüµÄ¹¦ÄÜÂú×ãÎÒµÄÒªÇó¡£²âÊÔÍê³Éºó£¬ÎҾͶÔËüÍêÈ«·ÅÐÄÁË¡£¶ø´Ëʱ£¬ÎÒµÄSearchCriteriaBinder±ã»áÖ±½ÓʹÓÃTokenizer¶ÔÏ󣬶ø²»ÊÇÄÚ²¿µÄ˽Óз½·¨¡ª¡ªµ±È»£¬ÊÇ»ùÓÚ³éÏóÀ´µÄ£º

public class SearchCriteriaBinder : IModelBinder
{
    public SearchCriteriaBinder()
        : this(new Tokenizer()) { }

    internal SearchCriteriaBinder(ITokenizer tokenizer)
    {
        this.m_tokenizer = tokenizer;
    }

    private readonly ITokenizer m_tokenizer;

    public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        var modelName = bindingContext.ModelName;
        var rawValue = bindingContext.ValueProvider[modelName].RawValue;

        var text = HttpUtility.UrlDecode(rawValue.ToString());
        var tokenGroups = this.m_tokenizer.Tokenize(text);
        ...
    }
}

¡¡¡¡Ô­±¾ÓÉ˽ÓеÄTokenize·½·¨¸ºÔðµÄÂß¼­£¬ÏÖÔÚÒѾ­Î¯ÍиøITokenzier¶ÔÏóÁË£¬¶øÕâ¸ö¶ÔÏó¿ÉÒÔÔÚ¹¹Ôì SearchCriteriaBinder¶ÔÏóʱͨ¹ý¹¹Ô캯ÊýÌṩ¡£Çë×¢Ò⣬ÌṩITokenizer¶ÔÏóµÄ¹¹Ô캯Êý·ÃÎʼ¶±ðÊÇinternal£¬Ò²¾ÍÊÇ˵£¬Ëü¿ÉÒÔ±»µ¥Ôª²âÊÔ´úÂëËù·ÃÎÊ£¨Í¨¹ýInternalVisibleToAttribute£©£¬µ«ÊÇÎÞ·¨±»ÁíÒ»¸ö³ÌÐò¼¯µÄʹÓ÷½µ÷Óá£Ò²¾ÍÊÇ˵£¬¾­¹ýÖع¹µÄSearchCriteriaBinder£¬ËüµÄ¿É²âÊÔÐÔÌáÁË£¬µ«ÊǶÔÍâµÄ±íÏÖȴûÓÐË¿ºÁ±ä»¯¡£

¡¡¡¡¾­¹ý¼òµ¥Ë¼¿¼£¬±ã¿ÉÒÔ·¢ÏÖÕâÒ»¼òµ¥µÄ¸Ä±äÆäʵҲ½ÏΪÂú×ãSOLIDÔ­ÔòÖеÄÒ»²¿·Ö£º

¡¡¡¡* µ¥Ò»Ö°Ôð£ºSearchCriteriaBinderÖ°ÔðºÜµ¥Ò»£¬½âÎö¹¤×÷½»ÓÉͬÑùÖ°Ôðµ¥Ò»µÄTokenizer½øÐС£

¡¡¡¡* ÒÀÀµ×¢È룺ÕâÀïʹÓÃÁ˹¹Ô캯Êý×¢ÈëµÄ·½Ê½£¬SearchCriteriaBinder¶ÔTokenizerµÄÒÀÀµ²»ÊÇдËÀÔÚ´úÂëÀïµÄ¡£

¡¡¡¡* ½Ó¿Ú·ÖÀ룺SearchCriteriaBinder²¢²»Ö±½Ó·ÃÎÊTokenizer£¬¶øÊÇͨ¹ýÒ»¸ö³éÏó£¨ITokenizer£©Ê¹Óõġ£

¡¡¡¡Õâ±ãÊÇÎÒ³£Óõġ°¿É²âÊÔÐÔÇý¶¯¿ª·¢¡±£¬ÎÒÒ»¿ªÊ¼Ö»ÊÇ°´ÕÕ¹ßÀýÖ±½ÓʵÏÖBindModel·½·¨£¬È»ºó·¢ÏÖÒ»¸öÐèÒª²âÊÔµÄ˽Óз½·¨£¬Òò´ËΪÁËÌá¸ß¿É²âÊÔÐÔ£¬ÎÒ½«²¿·Ö¹¦ÄÜÌáÈ¡µ½¶ÀÁ¢µÄTokenizer¶ÔÏóÖÐÈ¥¡£ÔÚʵ¼Ê¿ª·¢¹ý³ÌÖУ¬ÎÒÒ²¿ÉÄÜÊÇÖ±½ÓÔÚÄÔ×ÓÀï½øÐмòµ¥µÄ·ÖÎö£¬È»ºóÖ±½Ó·¢ÏÖÎÒÃǵÄÈ·ÐèÒªÒ»¸ö Tokenizer·½·¨£¨ÕâµãÏëÏóÓ¦¸Ã²»ÄÑ£©£¬ÓÚÊÇÖ±½ÓʵÏÖITokenzier½Ó¿Ú£¬TokenizerÀàÒÔ¼°µ¥Ôª²âÊÔ¡£ÕâÑù£¬¿ÉÄÜ SearchCriteriaBinder´ÓÒ»¿ªÊ¼¾Í»á±ä³ÉÄ¿Ç°µÄÑù×Ó¡£²»¹ý¸ü¶àµÄÇé¿ö£¬µÄÈ·ÊÇд×Åд×Å£¬ÎªÁË¡°¿É²âÊÔÐÔ¡±¶ø½øÐеÄÖع¹¡£ÎªÁË˵Ã÷Õâ¸ö ¡°Ë¼Â·¡±£¬ÎÒ½ÓÏÂÀ´»¹ÊÇʹÓá°±àд´úÂ롪¡ª³¢ÊÔ²âÊÔ¶ø²»ÄÜ¡ª¡ªÖع¹¡±µÄ·½Ê½À´½øÐпª·¢¡£

Ïà¹ØÔĶÁ£º

ÎÒµÄTDDʵ¼ù£º¿É²âÊÔÐÔÇý¶¯¿ª·¢£¨Ï£©

ÎÒµÄTDDʵ¼ù£º¿É²âÊÔÐÔÇý¶¯¿ª·¢£¨ÉÏ£©

33/3<123
¼ÛÖµ398ÔªµÄ²âÊԿγÌÃâ·ÑÔùËÍ£¬ÌîÎʾíÁìÈ¡°É£¡

¾«²ÊÆÀÂÛ

¹Ø×¢51Testing

ÁªÏµÎÒÃÇ

¿ì½ÝÃæ°å Õ¾µãµØͼ ÁªÏµÎÒÃÇ ¹ã¸æ·þÎñ ¹ØÓÚÎÒÃÇ Õ¾³¤Í³¼Æ

·¨ÂɹËÎÊ£ºÉϺ£äîϪÂÉʦÊÂÎñËù ÏîÆåÂÉʦ
°æȨËùÓÐ ÉϺ£²©Îª·åÈí¼þ¼¼Êõ¹É·ÝÓÐÏÞ¹«Ë¾ Copyright©51testing.com 2003-2022
ͶËß¼°Òâ¼û·´À¡£ºwebmaster@51testing.com; ÒµÎñÁªÏµ£ºservice@51testing.com 021-64471599-8017

»¦ICP±¸05003035ºÅ

»¦¹«Íø°²±¸ 31010102002173ºÅ