ASP.NET MVCには「コードビハインド」の概念はありません。あなたのビューからデータを送信し、それはあなたのコントローラで処理されます。
これがPOSTのアクションであれば、コントローラにデータを返すことができますし、そのデータをテキストボックスビューから非表示にすることもできます。あなたのビューで
、あなたは次の行でそれを置き換える必要があります。そして、
@Html.HiddenFor(m => m.CreatedAt, DateTime.Now);
モデルがコントローラにPOSTされ、CreatedAt
プロパティは、DateTime.Nowはに埋めています
。あなたが何かを投稿するとき、それはアクションメソッドに行くことがあります。
パブリッククラスMyController:コントローラ { は//他のもの
[HttpPost]
public ActionResult Edit(Product product)
{
product.CreatedAt // should equal the DateTime.Now set when you created the View
}
}
またはあなたがそれPOST
秒後、コントローラでそれを設定できます
パブリッククラスMyController:コントローラ { //他のもの
[HttpPost]
public ActionResult Edit(Product product)
{
product.CreatedAt = DateTime.Now;
}
}
で問題が発生することがありますこの文脈ではを使用している場合は、必ずuse the work around in placeにしてください。
私はあなたを誤解しているかもしれませんが、上記のコードをビューから削除し、そのメソッドにCreatedAtを設定するだけではどうですか? – WooHoo
どのように? – hotcoder
あなたのコントローラには、ビューをレンダリングするget要求を処理するメソッドがあります。また、通常は同じ名前で、属性がhttppostであるメソッドをコントローラ上に配置する必要があります。これは、提出されたときにページを処理するので、このメソッドの値を設定します。 – WooHoo