Null Entry Error - PullRequest
       15

Null Entry Error

0 голосов
/ 18 декабря 2009

У меня есть этот код на мой взгляд:

<%=Html.ActionLink("Approve", "NewsApprove", New With {ID}, DBNull.Value)%>

в моем контроллере:

Function NewsApprove(ByVal dID As Integer) As ActionResult
    dTempNews.ApproveNews(dID)
    Return RedirectToAction("Administrator")
End Function

Моя проблема в том, что он всегда возвращает ошибку, которая говорит: Словарь параметров содержит пустую запись для параметра 'dID' не обнуляемого типа 'System.Int32' для метода 'System.Web.Mvc.ActionResult NewsApprove (Int32)' в 'UC_Website.UserController'. Чтобы сделать параметр необязательным, его тип должен быть либо ссылочным типом, либо типом Nullable.

Но я не вижу никаких проблем с кодом. Я думаю, что это простая проблема, но я не могу понять, как заставить это работать .. Помогите, пожалуйста. Спасибо!

Ответы [ 2 ]

1 голос
/ 18 декабря 2009

Я не работал на asp.net MVC. Но вот мое понимание.

Посмотрите на ссылку, сгенерированную для <%=Html.ActionLink("Approve", "NewsApprove", New With {ID}, DBNull.Value)%>. Это похоже на http: //.../Approve/? (т.е. без какого-либо параметра ID)

Либо вы должны передать действительное целое значение для выполнения действия. т.е. ссылка должна выглядеть как http: //.../Approve/0123

Для этого вы должны передать действительное целое значение, а не нулевое значение.
Кажется, код должен быть new with {"dID", ID}, я думаю.

OR

Пусть метод NewsApprove принимает Nullable<int>, если ссылка без параметра ID в порядке.
(например, http: //.../Approve/)

EDIT: метод NewsApprove перегружен? то есть 1 с целочисленным параметром и другим методом с тем же именем, но без параметров.

0 голосов
/ 19 декабря 2009

Вид:

<%=Html.ActionLink("Approve", "NewsApprove", New With {ID}, DBNull.Value)%>

Контроллер:

Function NewsApprove(ByVal ID As Integer) As ActionResult
    dTempNews.ApproveNews(ID)
    Return RedirectToAction("Administrator")
End Function

имя параметра должно совпадать с именем значения, которое вы пытаетесь вызвать ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...