我想做什么:
使用两个httpPost动作结果,它们现在具有相同的名称(索引)..但是当我更改其中任何一个的名称并运行代码时,没有任何反应。我该如何修改我的代码以便我的所有行动结果都会运行?
[HttpPost]
public async Task<ActionResult> Index(HttpPostedFileBase photo)
{
ViewBag.hello = "hello world";
var imageUrl = await imageService.UploadImageAsync(photo);
ViewBag.Ult = imageUrl;
//TempData["LatestImage"] = imageUrl;
return View("Index");
}
上面的代码是我的第一个Index actionresult,它运行得很好,但是当我再放一个,所有的地狱都崩溃了:
[HttpPost]
public ActionResult Index(ModelVariables model)
{ //code
}
要点: 我想这样做:
[HttpPost]
public async Task<ActionResult> Index(HttpPostedFileBase photo + Modelvariables model)
{ //code
}
我只想拥有一个httpPost方法,但要包含&#39;照片&#39;和&#39;模型&#39;
答案 0 :(得分:1)
您不能拥有两个名称相同的[HttpPost]
方法。假设您有一个包含Modelvariables
控件的表单以及一个文件输入,那么在POST方法中添加两个参数
public ActionResult Index(ModelVariables model, HttpPostedFileBase photo)
或更好的是,将属性public HttpPostedFileBase Photo { get; set; }
添加到ModelVariables
类,以便您可以使用
public ActionResult Index(ModelVariables model)