Html-Code.Actionlink die übergabe von null-Werten controller

Ich habe diese Methode in meinem controller namens "DirectorySearchController"

public ActionResult PersonDetails(FoundPerson person) //for some reason person is null here
{
    DirectoryViewModel viewModel = new DirectoryViewModel();
    viewModel.person = person;
    return View(viewModel);
}

Wenn ich einige Parameter übergeben, um es aus der Sicht der Verwendung von Html.Actionlink wird ein null-Wert

<ul data-role="listview">
    @if (ViewBag.Message == "NO RESULTS FOUND")
    {
        <li>@ViewBag.Message</li>
    }
    else
    {
            foreach (var employee in Model)
            {
                <li>
                    <div class="ui-grid-b">
                        <div class="ui-block-a" style="width:20%; vertical-align:middle"><img src="@employee.pictureURL" width="40px" height="40px"/></div>
                        <div class="ui-block-b" style="width:80%; vertical-align:middle">@Html.ActionLink(employee.name, "PersonDetails", "DirectorySearch", new { person = employee}, null)</div>
                    </div>
                </li>
            }
    }


</ul>

Aber das lustige an der Sache ist, dass wenn ich übergeben Sie die parameter, ohne mit dem Schlüsselwort "new" geht es den richtigen Wert. Das problem ist jedoch, ich müssen mehrere Parameter übergeben, so muss ich verwenden Sie das Schlüsselwort "new".

<div class="ui-block-b" style="width:80%; vertical-align:middle">@Html.ActionLink(employee.name, "PersonDetails", "DirectorySearch", employee, null)</div>
Ich habe genau das gleiche problem - wenn ich die Parameter der controller-Methode muss, beschwert es sich über einen null-Wert, aber wenn ich übergeben Sie das Objekt, das Sie magisch wählt das korrekte Objekt-Eigenschaft. Verrückt!

InformationsquelleAutor Un Known | 2012-07-11

Schreibe einen Kommentar