C# MVC - 将 URL 参数传递给方法
本文关键字:参数传递 方法 URL MVC | 更新日期: 2023-09-27 18:36:48
在我的 MVC 项目中将 url 参数传递给我的方法时遇到问题。当前遇到以下错误:
参数字典包含不可为空类型"System.Int32"的参数"id"的空条目,用于"mybloggywog"中的方法"System.Web.Mvc.ActionResult SinglePost(Int32)"。Controllers.PostController'.可选参数必须是引用类型、可为 null 的类型或声明为可选参数。
电话如下:
@{
foreach (var article in ViewBag.DisplayPosts)
{
<a class="ArticleLink" href="@Url.Action("SinglePost", "Post", article.Id)">@article.Title</a>
<p>@article.CreatedOn</p>
<br/>
}
}
路由配置:
routes.MapRoute(
"Post",
"post/{id}",
new { controller = "Post", action = "SinglePost", id = UrlParameter.Optional }
);
和方法:
public ActionResult SinglePost(int id)
{
var entities = new blogEntities();
var post = entities.Set<Post>();
var postToDisplay = (from p in post
where p.Id == id
select p);
ViewBag.SinglePost = postToDisplay;
return View();
}
尝试将其更改为匿名对象:
@Url.Action("SinglePost", "Post", new { id = article.Id })