MVC 4中单个按钮中控制器的多个动作

时间:2014-04-16 12:38:01

标签: asp.net-mvc asp.net-mvc-4

我的控制器有2个动作:

[HttpPost]
public ActionResult Upload(HttpPostedFileBase[] files)
{
      foreach (HttpPostedFileBase file in files)
      {
           string path = System.IO.Path.Combine(Server.MapPath("~/App_Data"), System.IO.Path.GetFileName(file.FileName));
           file.SaveAs(path);
      }
      ViewBag.Message = "File(s) uploaded successfully";
      return RedirectToAction("Index");
}
//
// GET: /AdultLiteracyTeachers/Details/5
public ActionResult Details(int id = 0)
{
      AdulLiteracyTeachers adulliteracyteachers = db.AdulLiteracyTeachers.Find(id);
      if (adulliteracyteachers == null)
      {
           return HttpNotFound();
      }
      return View(adulliteracyteachers);
}

我在Create.cshtml中的视图

@using (Html.BeginForm(Upload, ControllerName, FormMethod.Post, new { enctype = "multipart/form-data" }))
 <input type="file" name="files" value="Upload Image" />
            <input name="Upload" type="submit" value="Create" />

问题是 当我提交按钮时,只有上传正在工作,其他人创建等不工作 如何以单一形式调用多个动作创建按钮?

1 个答案:

答案 0 :(得分:0)

我相信你可以像这样多次使用beginform:

@using (Html.BeginForm(Upload, ControllerName, FormMethod.Post, new { enctype = "multipart/form-data" })){
 <input type="submit" name="files" value="Upload Image" />
 }
 @using (Html.BeginForm(Details, ControllerName, FormMethod.Post, new { enctype =  "multipart/form-data" })){
 <input name="Upload" type="submit" value="Create" />
 }

并确保按钮类型=&#34;提交&#34;。