Asp.Net MVCを初めて使用しますが、部分ビューの投稿でデータを更新する方法がわかりません。GETと部分ビューでのデータの表示に問題はありません。
親ページのpostメソッドの部分ビューデータのPOSTコードをどこに配置するかわかりませんか?または部分ビューのpostメソッド?
以下のコードを実行すると、送信時にこのメッセージが表示されます。
パブリックアクションメソッド「ScoreRelease」がコントローラー「Registration.Web.Controllers.AgreementsController」で見つかりませんでした。」}
最初のページの読み込み時にコントローラーが検出されますが、return View( "Review");を呼び出したときには検出されません。postメソッドで。
「レビュー」ページから呼び出されたParialView
@{Html.RenderAction("ScoreRelease", "Agreements");}
ScoreReleaseパーシャルビュー
@model Registration.Web.Models.ReviewModel.ReleaseScore
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div class='group' id='data_release'>
<h4>
Data Release
</h4>
<p>
Do you wish to release your scores?
</p>
<ul class='input_group'>
<li>
@Html.RadioButtonFor(model => model.ReleaseScoreIndicator, true)
<label>
Yes
</label>
</li>
<li>
@Html.RadioButtonFor(model => model.ReleaseScoreIndicator, false)
<label>
No
</label>
</li>
</ul>
<input type="submit" value="Save" />
</div>
}
コントローラーのレビュー
public ActionResult Review()
{
return View();
}
[HttpPost]
public ActionResult Review(ReviewModel.ReleaseScore model)
{
var agmtsService = new AgreementsService();
agmtsService.UpdateReleaseScoreIndicator(model.ReleaseScoreIndicator);
return View("Review");
}
[HttpGet]
public ActionResult ScoreRelease()
{
var agmtsService = new AgreementsService();
bool scoreRelease = agmtsService.GetReleaseScoreIndicator();
var vm = new ReviewModel.ReleaseScore();
vm.ReleaseScoreIndicator = scoreRelease;
return PartialView(vm);
}