2010-02-02 55 views
1

我有一個叫做時間的對象MVC2 IModelBinder並將字符串解析爲對象 - 我該怎麼做?

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) 
    } 
} 

所以,我要的是對編輯的自動模型綁定或創建行動,從一個字符串設置這個時間點起來(以字符串喂解析方法返回結果)。

我這樣做的原因是我將有一個DropDownList可選擇的時間。每個選項的值將是解析器可讀的字符串。

任何人都可以從IModelBinder接口提供示例BindModel方法嗎?

+0

順便說一句,我知道如何設置它來自動拿起TimeModelBinder,當它需要解析它。我只是不知道在BindModel方法裏面做什麼 – Dann 2010-02-02 23:57:28

回答

3

好吧,我找到了我想要的東西。 Model Binding by Scott Hanselman你是一個傳奇人物斯科特。

的關鍵部件是使用「bindingContext.ModelName」拿到鑰匙的名稱,然後從價值供應商拉值,像這樣:

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

當然,這是一個相當幼稚的做法,但它讓我開始了。

0

使用綁定上下文,您可以獲得ValueProvider或Request本身的句柄,並將該值拉出並解析它。

相關問題