从视图向控制器的方法传递参数时收到错误
本文关键字:参数 错误 视图 控制器 方法 | 更新日期: 2023-09-27 17:50:45
因此,这是导致错误的两段代码。
视图:
...
@foreach (FinalCampaign fc in @Model)
{
<h1>@fc.Camp.Id</h1>
<h2>@Html.ActionLink(@fc.Camp.Name, "GoToPage", "Home", fc.Camp.Id, null)</h2>
<p>@fc.Camp.CampaignStartDate - <font color="Blue"><u>@fc.Username</u></font></p>
<p>@fc.Camp.Description</p>
}
这是我的控制器的"GotoPage"功能:
public ActionResult GoToPage(string id)
{
CampaignCommentsModel ff = new CampaignCommentsModel();
var cT = new CampaignTable(new OracleDatabase("DefaultConnection"));
Campaign camp = cT.GetCampaignById(id);
...
return View(ff);
}
这就是我的问题:GotoPage(参数(中的"id"为null,它没有从我的视图中接收到值。
您应该使用:
<h2>@Html.ActionLink(@fc.Camp.Name, "GoToPage", "Home", new { id = fc.Camp.Id}, null)</h2>
不能以这种方式传递嵌套属性。默认的模型绑定器不能将这样的对象与操作方法中的参数相关联。
ActionLink扩展:https://msdn.microsoft.com/en-us/library/dd492124(v=vs.118(.aspx
模型绑定:什么是ASP中的模型绑定。NET MVC?
<h2>@Html.ActionLink(@fc.Camp.Name, "GoToPage", "Home",new {id = fc.Camp.Id}, null)</h2>
请参阅此处Actionlink方法