0

私の mvc 4 および EF5 プロジェクトでは、データベース モデルとビュー モデルとして機能するクラスがあります。そのクラスでは、PK は Id と呼ばれるプロパティです。ビューでは、@Html.HiddenFor(m => m.Id) を使用して、この Id を HiddenField に読み込みます。最初に URL を入力してビューを読み込むには、Index(int? Id) という名前のアクションを呼び出します。アクションのコードは次のとおりです。

entry = context.Entries.Where(e => e.Id > Id.Value && e.Revised == false).First();

ご覧のとおり、私が探している ID は URL で渡されたものよりも大きくなっています。これで問題ありません。これが必要です。

これを理解してください: localhost/Index/Index/1609 e のような URL を入力します。次は 1610 ですが、隠しフィールドは 1609 のままです。名前を変更すると、プロパティ名「Id」に関連していることに気付きました。そしてそれは私が期待したようにうまくいきます。

なぜこれが起こるのですか?前に説明した動作を期待してそのように使用したい場合はどうすればよいですか?

4

0 に答える 0