2012-08-01 71 views
1

我有了幾個editorfor/textboxfors爲什麼不TryUpdateModel()驗證textboxfor或更新模型?

視圖
<% using(Html.BeginForm("New", "Controller", FormMethod.Post)) {%> 
    <%: Html.ValidationSummary(false) %> 
    <div>Address</div> 
    <div><%: Html.EditorFor(model => model.Address)</div> 
    <div>Zip Code</div> 
    <div><%: Html.EditorFor(model => model.Zip)</div> 
    <div>Total Mats</div> 
    <div><%: Html.EditorFor(model => model.TotalMats)</div> 
    <input type="image" src="<%: Url.Content("~/Content/Images/submit.png") %>" name="Submit" /> 
    <% } %> 

操作:

​​

型號:

[Bind(Include="Name,Date")] 
public class Event 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public DateTime Date { get; set; } 
    public int Participants { get; set; } 
    public int TotalMats { get; set; } 
} 

所以前兩個EditorFors是字符串,而最後是int(在模型上)。這是我注意到的一件事。我不確定它是否相關。但每次我提交時,表單集合都會顯示TotalMats字段有值。但是一旦它通過TryUpdateModel,它就不會更新模型的屬性。有什麼我失蹤?在我的一些頁面上,它使用了一個int類型的屬性。我不得不做一個手動的FormCollection [「key」]檢索,但我不得不做額外的驗證,只是爲了確保它不會彈出非整數值。

+0

你能向我們展示完整視圖和模型類嗎? – 2012-08-01 05:43:17

+0

你去... – gdubs 2012-08-01 13:12:11

回答

相關問題