一部のHTMLフォームフィールドにリクエストに含まれるデータをあらかじめ入力しようとしています。長いリクエストデータを使用したフォームの事前入力
私の元のセットアップは、すべての変更の前に、次のようになります。
インサイドTicketController:
//GET: Retrieve the form
[Route("createticket")]
public ActionResult CreateTicket()
{
//Irrelevant code ommited
return View("CreateTicket");
}
//POST: Submit the form
[HttpPost]
[Route("createticket")]
public ActionResult CreateTicket(CreateTicketModel createTicketModel)
{
//Irrelevant code ommited (saving the submitted data)
return RedirectToAction("ViewTicket", new { ticketId = ticket.TicketId });
}
私はGETパラメータとしてデータを渡すこともできますが、問題は、多くの場合、データです長すぎてURLに含めることができません(2000文字以上)。
私が現在考えることのできる唯一の解決策は、フォームをGETではなくPOSTにすることです。そのため、POSTパラメータを使用してフォームを事前入力することができます。
- 私は
- 競合することになる/ createticketパス、2つの可能なPOSTリクエストを持つことになりますそれはちょうど、フォームを取得するために、POSTリクエストを使用する権利を感じていない:私は、このソリューションには二つの問題を持っています
私はこれにどのように対処できますか?
"データがURLに含まれないように長すぎます"とはどういう意味ですか?取得するレコードを決定するためにデータを送信する必要がありますか? Getアクションに必要な余分なデータは表示されません。 公共のActionResult CreateTicket(文字列someDataが){...} その後、私はこのようにデータを送信することもできます:? /createticket someDataが=一部%20Text%で20Etcetera これで問題があることだろう –
がGETは次のようにあるとしデータの長さはURLの最大長によって制限されます。 –