フォーム内でコールバック パネルを使用します。コンボボックスの値が変更されると、CallbackPanel 内のフィールドの値がそれに応じて更新される必要があります。
私の問題は、モデル値がコントローラー内で常に null であり、理由がわからないことです! (model.Documents = null および model.SelectedDocument = null)
誰かが私の問題がどこにあり、それを解決する方法を教えてくれたら素晴らしいと思います.
これが私のコードです(編集済み):
意見
@using (Html.BeginForm("Finalize", "DocumentsWaitingApproval", FormMethod.Post, Model))
{
<table>
<tr>
<td>
@Html.DevExpress().ComboBox(settings =>
{
settings.SelectedIndex = 0;
settings.Properties.TextField = "Title";
settings.ClientEnabled = true;
settings.Properties.ClientInstanceName = "CmbBoxFiles";
settings.Properties.EnableClientSideAPI = true;
settings.Properties.ValueType = typeof(int);
settings.Properties.ValueField = "DocumentID";
settings.Name = "CmbBoxFiles";
settings.Properties.ClientSideEvents.SelectedIndexChanged = "function(s,e) { cmbBoxFiles_SelectedIndexChanged(s,e); }";
}).BindList(Model.Documents).GetHtml()
</td>
</tr>
</table>
@Html.DevExpress().CallbackPanel(
settings =>
{
settings.Name = "cbpDocWaiting";
settings.CallbackRouteValues = new { Controller = "DocumentsWaitingApproval", Action = "Refresh" };
コントローラ メソッド
[Authorize]
public ActionResult Refresh(DocumentsWaitingApprovalModel model) // model.SelectedDocument is always null
{
}
[Authorize]
public ActionResult Finalize([Bind]DocumentsWaitingApprovalModel model) //model.SelectedDocument is always null
{
return RedirectToAction("Index");
}
}