2014-10-21 2 views
2
@model MvcDemo.Models.MovieDB 

<fieldset> 
    <legend>MovieDB</legend> 

    <div class="display-label">Title</div> 
    <div class="display-field"> 
     @Html.DisplayFor(model => model.Title) 
    </div> 

    <div class="display-label">Director</div> 
    <div class="display-field"> 
     @Html.DisplayFor(model => model.Director) 
    </div> 

    <div class="display-label">Date</div> 
    <div class="display-field"> 
     @Html.DisplayFor(model => model.Date) 
    </div> 
</fieldset> 
<p> 
    @Html.ActionLink("Edit", "Edit", new { id=Model.ID }) 
    @Html.ActionLink("Back to List", "Index") 
</p> 

Когда я выполняю это, появляется сообщение об ошибке, следующее следующим образом: System.NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта. Ошибка возникает на второй последней строке [email protected] («Изменить», «Изменить», новый {id = Model.ID})Как обращаться с System.NullReferenceException?

ответ

0

В вашем методе действий, перед тем как вы вернете ActionResult, посмотрите на модель и подтвердите, что свойство ID заполнено - я думаю, вы обнаружите, что это не так.

Если ваш метод действия является HTTP-сообщением, содержит ли представленное представление элемент управления для поля ID? Если нет, попробуйте использовать поле «Скрытое» - метод HiddenFor (...) поможет вам в этом ...

+0

Кроме того, у вас действительно есть контроллер под названием Edit? Это немного странно - обычно у вас будет контроллер для каждого типа сущности, с которой вы работаете, а методы Add/Delete/View/Update/List и т. Д. Будут Action Action на этом контроллере ... –

Смежные вопросы