RazorPageではフォームを送信しますが、モデルOnPost()
ではRequest.Form ["myfield"]は空です。プロパティが利用可能でない限り、Request.Form ["myfield"]はなぜ空白ですか?
<form method="post">
<input id="myfield"/>
<button type="submit">Submit</button>
</form>
しかし、私はモデルにクラスレベルのプロパティを追加する場合:それはブレークポイントにヒットしたときに
<form method="post">
<input asp-for="myfield"/>
<button type="submit">Submit</button>
</form>
Request.Form["myfield"]
が移入さ:TagHelperを使用するようにフォームを
public string myfield { get; set; }
と更新OnPost()内にあります。しかし、実際のプロパティはOnPost()
ではnullです。
何が起こっているのか理解していますか?意味:
なぜRequest.Form["myfield"]
には、クラスレベルのプロパティが設定されていませんか?
プロパティに値が入力されないのはなぜですか?
- EDIT -
name
の代わりにid
を使用しているため、最初の部分です。
asp-for
とモデルプロパティの2番目の部分についてはまだ分かりません。
'asp-for'も' name'属性を設定します - あなたは最初のコードスニペットでそれを設定しようとしましたか? –
その外観のコードスニペットを提供できますか? asp-name属性はありません。 – 4thSpace
私は、あなたの最初のコード例である 'asp-for'なしで、' 'を試してみることを意味します。私は 'id'ではなく' name'から外れているように感じます。 –