Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么单击@Url.Action会引发错误?_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

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=