在MVC5中,如何在視圖中設置當前日期和用戶ID以提交新對象

asp.net-mvc-5 c# entity-framework-6

我有一個實體,其中包含user表中的userId列和提交的日期列。當我創建一個新實體時,我想使用

@Html.HiddenFor(m => m.submitteddate)
@Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId())

我嘗試過當前日期和用戶ID

@Html.HiddenFor(m => m.submitteddate)
@Html.HiddenFor(m => m.SubmittedById, User.Identity.GetUserId())

但它不起作用。

完成此任務的最佳方法是什麼?是否有其他方法可以在視圖中執行此操作,還是應該在模型或控制器獲取或控制器發布方法中設置變量?

我正在使用mvc5,razor語法與實體框架6和c#

一般承認的答案

收集我以前的評​​論到答案:

在HTML中的隱藏字段中設置用戶ID將產生安全問題,因為最終用戶將能夠更改ID,從而冒充其他用戶。

要避免此問題,請在回發後在控制器中設置submitteddate和SubmittedById。這樣,您可以確定值已設置且值是正確的值。




許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因