shuhelohelo’s blog

Xamarin.Forms多めです.

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」となる。