我正在尝试提交一个表单,其中一个属性是文件列表。
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
}
}
提前致谢 :)
席恩斯