簡體   English   中英

將屬性值分配給復選框MVC C#

[英]Assigning property values to a checkbox mvc c#

希望有人可以給我一個正確方向的觀點。

因此,我有一個有效的“產品”表格,員工可以填寫該表格,並將結果顯示在表格上。 我在此表單中添加了一個“批准”復選框,該表是否再次顯示了被選中的結果。

但是,由於任何員工都可以編輯此信息,因此我希望記錄誰選中和取消選中數據庫中的框。 因此,我向“產品”數據庫表和模型添加了一個checkBy和checkboxDate。

我只是想知道這是正確的方法還是我是否應該為復選框設置自己的表,模型,屬性等?

我的建議是要有一個包含4列的單獨表-UpdatedBy(保存更新的人),UpdateDate(即何時進行更新可能是系統日期),Component(哪個部分或頁面名稱已更新)和Section(哪個值或控件已更新)。 這將幫助您將該表用於將來產品中的所有此類更改。

這是完全正常的解決方案。 如果復選框與“產品”有關系,通常會將一些屬性添加到與該復選框相對應的表中。

我認為這不是一個好的解決方案。 因此,如果UserA取消選中該框,則在ProductId1的產品表中記錄UserA並取消選中(例如)。 然后,當UserB對此進行檢查時,您將覆蓋ProductId1中的那些值。 因此,您只保留最后一個選中/取消選中它的人。

這就是我過去所做的事情。 在數據庫中,對於需要歷史記錄的任何表,我添加以下內容:

  1. UpdatedByUser
  2. EffectiveFrom-有效值是完成編輯的日期。 在您的情況下,請選中並取消選中。
  3. EffectiveTo-如果為null,則當前記錄為活動記錄。 如果具有值,則表示該行中的信息是從有效日期到有效日期為止的最新信息。

每當有人對記錄進行更改時,我都會將當前記錄設置為UpdateByUser和EffectiveTo(設置為Now)。 然后,插入具有現有值和更改后的值的新記錄。 該記錄將EffectiveTo為空(意味着這是當前活動記錄)。 這樣,您將知道發生了什么更改,並且還具有歷史記錄。 對於給定產品,在任何情況下,只有1條記錄的有效有效期應設置為null。 其余的應該有一個值。

哦,我不會將其稱為checkBy,uncheckedBy列,因為這是特定於ui的。 我稱它們為ApprovedBy,RejectedBy或對應用程序設計的領域有意義的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM