1

Timeというオブジェクトがあります

public class Time{
   public int Hour  {get;set;}
   public int Minute {get;set;}     

   public static Time Parse(string timeString){
   //reads the ToString()'s previous output and returns a Time object
   }

   override protected string ToString(){
   //puts out something like 14:50 (as in 2:50PM)
   }
}

したがって、編集アクションまたは作成アクションでの自動モデル バインディングで、文字列からこの Time インスタンスを設定する (つまり、Parse メソッドに文字列をフィードして結果を返す) ことが必要です。

私がこれを行っている理由は、選択可能な時間を持つ DropDownList があるためです。各オプションの値は、パーサーで読み取り可能な文字列になります。

IModelBinder インターフェイスから BindModel メソッドの例を提供できる人はいますか?

4

2 に答える 2

3

よし、欲しいものを見つけた。Model Binding by Scott Hanselmanあなたはレジェンドのスコットです。

キー コンポーネントは、「bindingContext.ModelName」を使用してキーの名前を取得し、次のように値プロバイダーから値を取得していました。

bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue

もちろん、これはかなり単純な実装ですが、それが私を始めさせました。

于 2010-02-03T11:34:01.370 に答える
0

バインディング コンテキストを使用すると、ValueProvider または Request 自体へのハンドルを取得し、値を取り出して解析できます。

于 2010-02-03T00:30:37.057 に答える