在mvc 3中从url读取http get-var时出现问题



我有一段代码可以创建一个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>

最新更新