Razor Pagesで同じプロパティに対してInputとhidden Inputがあった場合、どちらが優先されるか
タイトルのとおり。 ビュー側に同じプロパティに対してhiddenとそうでないinputがあった場合に、BindPropertyはどのような動作をするのかを確認する。そんなことはしないだろうけれど気になった。
結論:先に書かれているほうが優先される。
hidden inputが先の場合
<form method="post"> <input hidden asp-for="@Model.Message" /> <input asp-for="@Model.Message" /> <button type="submit">送信</button> </form>
テキストボックスに「hello2」と入力して送信ボタンを押すと、Messageプロパティの値は「hello」のまま
hiddenなしのinputが先の場合
<form method="post"> <input asp-for="@Model.Message" /> <input hidden asp-for="@Model.Message" /> <button type="submit">送信</button> </form>
Messageプロパティの値は「hello2」となる。