2013-02-22 59 views
0

我的模型看起來像:型號字符串屬性空上提交的MVC 3

public class MyViewModel 
    { 
     public MyViewModel() 
     { 
      MyClasses = new List<MyClass>(); 
     } 

     public List<MyClass> MyClasses{ get; set; } 

     [Required(ErrorMessage = "is required.")] 
     public string Prop1{ get; set; } 

     [Required(ErrorMessage = "is required.")] 
     public int Prop2{ get; set; } 
    } 

我對柱控制器:

[HttpPost] 
public ActionResult MyActionOnPost(MyViewModel model) 
{ 
//save to DB 
//Prop2 is not null but Prop1 is nulll. why?? 
} 

查看代碼:

@ Html.TextBoxFor( m => m.Prop2)@ Html.ValidationMessageFor(m => m.Prop2)

@ Html.TextBoxFor(M => m.Prop1)@ Html.ValidationMessageFor(M => m.Prop1)

我可以看到Prop2值上提交但Prop1null。任何想法?

+1

我可以在提交時看到兩個值。我已經嘗試了您的視圖模型和文本框以及 – 2013-02-22 08:53:34

+0

雖然很簡單,但沒有看到價值。 ModelState.IsValid是false。它說Prop1是空的。 – user1480864 2013-02-25 08:38:00

回答

0

[DisplayFormat(ConvertEmptyStringToNull = FALSE)]

這是你的答案。將此添加到代碼中的每個字符串中,並且它將完美工作!

+0

添加這個就像你添加了必要的標籤。添加後,您將獲得一個空字符串而不是null。 – Lakshay 2013-02-22 06:42:14

+0

對不起,我爲什麼在輸入內容時看到空或空? – user1480864 2013-02-22 06:48:18

+0

親愛的我想你只有在發佈空的Prop1文本框時才能得到null。如果你用一些值填充文本框然後發佈它,我相信你會在服務器端獲得它。 我不確定你的問題,即使你在文本框中填充一些值,你是否爲null? – Lakshay 2013-02-22 08:18:43

相關問題