0

プロパティの 1 つがファイルのリストであるフォームを送信しようとしています。

ActionResultが正常に完了したら、Javascriptを介してトリガーする必要がある成功メッセージを表示する必要があります。

Ajax.Beginフォームを使用すると、javascript メッセージが表示されますが、ファイルはActionResultに送信されません。一方、Html.BeginFormを使用すると、ファイルは送信されますが、javascript 関数を呼び出すことができず、したがって、成功メッセージをトリガーできません。

ここに私の見解があります:

@using (Html.BeginForm("Action", "Controller", FormMethod.Post, 
        new { id = "exceptionForm", enctype = "multipart/form-data" }))
{
   @Html.TextAreaFor(m => m.Notes)
   @(Html.Kendo().Upload()
   .Name("EventFiles")
   )
   <div >
      <button href="#">
      submit
      </button>
   </div>
}

私の行動

[HttpPost]
public ActionResult Action(Model model)
{
   //do something
   result = new BaseJsonData();
   result.HasCompletedSuccessfully = true;
   return this.Json(result);
}

私のモデル

public class EventModel
{
   public string Notes { get; set; }
   public IEnumerable<HttpPostedFileBase> EventFiles { get; set; }
}

私のJavaScript:

onSuccess: function (data) {
     if (data.HasCompletedSuccessfully) {
      //show message extention
     }
}

前もって感謝します :)

シュウンズ

4

2 に答える 2