C# 为什么单击@Url.Action会引发错误?
当我点击一个按钮输入,它会在控制器内触发一个动作图像弹出窗口,但它会抛出一个错误 代码:C# 为什么单击@Url.Action会引发错误?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,当我点击一个按钮输入,它会在控制器内触发一个动作图像弹出窗口,但它会抛出一个错误 代码: 我做错了什么?我相信它正在寻找一个HTTPGet操作。 如果您想调用您的帖子,您需要使用HTML.BeginForm,但如果页面上的内容太多,则可能会出现问题。尝试为ImagePopup操作方法使用[HttpGet]属性设置当前页面的href位置: location.href= 使浏览器执行Get请求类型,并且不会将任何表单数据发回控制器。由于[HttpPost]属性,控制器上的方法仅适用于post请求,
我做错了什么?我相信它正在寻找一个HTTPGet操作。
如果您想调用您的帖子,您需要使用HTML.BeginForm,但如果页面上的内容太多,则可能会出现问题。尝试为ImagePopup操作方法使用[HttpGet]属性设置当前页面的href位置:
location.href=
使浏览器执行Get请求类型,并且不会将任何表单数据发回控制器。由于[HttpPost]属性,控制器上的方法仅适用于post请求,因此没有其他匹配方法可以工作,因此会出现异常
解决方案:
您可以继续使用Get方法。将[HttpPost]替换为[HttpGet]将使您达到一半。另一个要求是确保Url.Action代码包含所有需要发回的信息,例如@Html.HiddenFormodel=>model.Story中的所有数据不包括在内,我不知道您是否需要它
或
您可以修改代码以使用Post方法。更改[HttpPost]是您的问题。
[HttpPost]
public ActionResult ImagePopup(string story)
{
ViewBag.PopupStyle = "";
ViewBag.PopupStory = story;
return View("GetImagesStories");
}
location.href=