2010-06-20 59 views
1

我有一個簡單的對象快速的FormCollection問題ASP.NET MVC2

public class SomeObject 
{ 
    public Int32 id { get; set; } 
    public string name { get; set; } 
} 

在一個強類型的視圖,我讓用戶編輯SomeObject.name,當表單張貼的接收方法並沒有看到SomeObject .id在FormCollection(它確實看到SomeObject.name)。我是否需要將表單中的每個對象屬性都放在表單發佈後才能訪問它們?

什麼是最佳做法,我應該爲每個屬性插入隱藏字段,我不打算讓用戶編輯?也許我應該把整個對象放在ViewData中?

感謝

回答

1

FormCollection僅包含已張貼要麼通過文本字段或隱藏字段屬性。因此,如果您需要在控制器操作中使用Id屬性,則需要將其包含在表單中。根據您在控制器操作中所做的操作,您可能會或可能不會包含它。沒有必要爲每個屬性包含隱藏字段。

通常Id就足夠了,因爲它允許您稍後從給定此ID的數據存儲中檢索對象。

0

你的操作方法是什麼樣的,你發佈的表單是什麼?如果處理GET請求的方法需要使用id,如果您的POST方法也使用id並且您使用的BeginForm helper方法沒有任何參數重載,則表單方法將使用該id作爲參數,您不需要擔心包含id本身的隱藏字段。