我有这个代码创建一个网址
<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”做一个请求参数给出相同的结果
答案 0 :(得分:3)
<a href="ContactInformation/CreateContactInformation/?dossierId=@Model.DossierId" class="ContactInformationEdit">Add New</a>
即。你错过了吗?在查询字符串之前
答案 1 :(得分:2)
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"})
上面的代码也会考虑您的路线配置
答案 2 :(得分:0)
你有正确的路由吗?
routes.MapRoute( _
"ContactInformation" _
"ContactInformation/CreateContactInformation/{parameters}" _
new With { .controller = "ContactInformation", .action = "CreateContactInformation"})
然后
<a href="ContactInformation/CreateContactInformation?dossierId=@Model.DossierId" class="ContactInformationEdit">Add New</a>