我有一段代码可以创建一个url
<a href="ContactInformation/CreateContactInformation/dossierId=@Model.DossierId" class="ContactInformationEdit">Add New</a>
(我不知道如何制作一个使用动作、控制器、对象的动作链接,也不知道在哪里可以放一个类名用于javascript(
这提供了一个类似http://localhost:51730/ContactInformation/CreateContactInformation/dossierId=1
的链接
然后我有一个控制器动作
[HttpGet]
public ActionResult CreateContactInformation(int? dossierId)
{
return PartialView("ContactInformationCreate", new ContactInformationViewModel(dossierId.Value));
}
但如果我在代码中放置了一个断点,那么变量就是"null",执行请求param会得到相同的结果
<a href="ContactInformation/CreateContactInformation/?dossierId=@Model.DossierId" class="ContactInformationEdit">Add New</a>
你错过了?在查询字符串
ContactInformation/CreateContactInformation/dossierId=@Model.DossierId
应该是
ContactInformation/CreateContactInformation?dossierId=@Model.DossierId
Url.Action帮助程序仅用于生成链接。你可以在任何你喜欢的地方使用这个链接,锚或其他任何东西。但也有内置的ActionLink重载来生成您想要的内容。
@Html.ActionLink("Add New", "CreateContactInformation", "ContactInformation", new {dossierId = @Model.DossierId}, new {@class="ContactInformationEdit"})
上面的代码会将您的路线配置视为太
你有正确的路线吗?
routes.MapRoute( _
"ContactInformation" _
"ContactInformation/CreateContactInformation/{parameters}" _
new With { .controller = "ContactInformation", .action = "CreateContactInformation"})
然后
<a href="ContactInformation/CreateContactInformation?dossierId=@Model.DossierId" class="ContactInformationEdit">Add New</a>