2013-02-19 66 views
1

我寫了一個小MVC3網站,讓某些用戶查看Active Directory帳戶。 對於審計,我們需要跟蹤我們的「用戶評論」。所以,一個月一次,我把所有東西放在一個SQL數據庫中。國家'被檢查'。多編輯MVC3

這看起來是這樣的: enter image description here

我想有一種方式,人們可以快速只檢查一個文本框,並將其保存審批。

enter image description here

我怎麼會去嗎? 'ReviewState'是一個單獨的對象(StateID,StateText,Description,Active)。 可能性是:未選中,已批准,已拒絕,已批准,...

+0

如果您ReviewState是一個布爾值,你可以只使用一個複選框。並將完整列表發回並逐一保存/更新 – 2013-02-19 09:48:56

+0

'ReviewState'是一個單獨的對象(StateID,StateText,Description,Active)。 – 2013-02-19 09:50:43

+0

好吧,但會有一個屬性,會說它被批准或不正確?如果是這樣,只需將您的複選框綁定到該屬性 – 2013-02-19 10:03:22

回答

1

創建ReviewState模型和包含StateId,StateText,Description等的強類型局部視圖。

你的父模型應該包含一個ReviewStateModel的列表。在主視圖中,循環顯示併爲列表中的每個模型渲染一個部分。

您可能需要添加一個標識,以便您可以標識服務器端的每個審閱模型。

+0

這看起來像是最好的方法。有沒有一種方法可以循環回發所有部分視圖? – 2013-02-19 11:41:11

+1

您的父視圖應該有一個父模型,其中包含List ReviewStates。發佈時,您的控制器操作會收到父視圖模型。然後,您可以遍歷每個審閱狀態。實際上,我會將父模型分解爲包含不同的子模型,其中一個用於頁面上的每種類型的部分(要驗證的帳戶,要驗證的從屬帳戶) – 2013-02-19 12:05:51

0

創建一個視圖模型在您的視圖中使用:


public class AccountViewModel 
{ 
    public AccountInfo Account { get; set; } 
    public ReviewState Review { get; set; } 
} 

這樣你就可以添加一個複選框Approve這樣的:

@Html.CheckboxFor(x => x.Active); 

你會得到這個模型回到你的崗位行動。唯一剩下的就是提取數據和更新數據庫。

我可能不準確,這裏屬性名稱和代碼是從我的頭寫,但我想你明白了吧