2016-06-16 62 views
0

value 매개 변수의 출처를 모르겠습니다.System.ArgumentNullException : 값은 null 일 수 없습니다. 매개 변수 이름 : 값

보기 : Ajax.BeginForm 질문 :

@Html.DropDownListFor(model => model.EXPENSE_REPORTABLE, new SelectList(
        new[] 
        { 
         new { Value = "true", Text = "Yes" }, 
         new { Value = "false", Text = "No" }, 
        }, 
        "Value", 
        "Text", 
        Model 
       ), 
       "-- Select --") 

내가 드롭 다운 목록에서 예 또는 아니오를 선택하지 후, 부분 뷰 (gridWebGrid의 인스턴스)를 WebGrid의 데이터를 표시하는 렌더링됩니다. 열 중 하나는 오류가 발생합니다 :

grid.Column("expenseReportable","Expense Reportable?",format:@<text> 
<span class="display-mode">@item.EXPENSE_REPORTABLE </span> <!--error here --> 
@Html.RadioButton("GridCol_Expense", (Nullable<bool>)item.EXPENSE_REPORTABLE, true, new { @class="edit-mode"}) Yes   
@Html.RadioButton("GridCol_Expense", (Nullable<bool>)item.EXPENSE_REPORTABLE, false, new { @class="edit-mode"}) No 
       </text>, style:"col1Width"), 

모델 속성 :

public Nullable <bool> EXPENSE_REPORTABLE {get; set;} 

의 InnerException : null

예외 메시지 :

Value cannot be null. Parameter name: value

+0

오류가 가능성이 가장 높은''이 될 수 없습니다 null'). 그러나 라디오 버튼에 대한 코드는 아무런 의미가 없습니다. 왜냐하면 동일한 값을 가진 2 개의 라디오 버튼을 만들기 때문입니다. 라디오 버튼을'true' 또는'false'로 되 돌리시겠습니까? (이 경우 두 번째와 세 번째 매개 변수의 방향이 잘못되었습니다) –

+0

아니요, 두 번째 매개 변수는 라디오 버튼의 값입니다. 'item.EXPENSE_REPORTABLE'의 값이'true'라면, 두 개의 라디오 버튼을 모두''로 생성합니다 (이것은 무의미합니다) - 그러나 item.EXPENSE_REPORTABLE의 값이'null'이면 예외가 발생합니다. –

+0

라디오 버튼은 편집 버튼을 누르지 않으면 표시되지 않는 CSS 클래스'edit-mode'에 실제로 속합니다. –

답변

0

Global.asax 파일에 아래 코드를 추가합니다 .

무엇이 잘못되었는지 자세히 알 수 있습니다.

void Application_Error(object sender, EventArgs e) 
{ // Attach break point here. 
    Exception TheError = Server.GetLastError(); //After execution of this line just check TheError variable. It will show you the details. 
    Server.ClearError(); 
} 

나는 당신의 객체가 item/ grid 널 생각되는이거나 수있는 몇 가지 널 속성이 있습니다. 서버 코드 자체를 디버깅하여 null이 아닌지 확인하십시오.

또한 당신의 끝에서 무엇이 잘못되고 대화가 매우 길어지는 지 짐작하기가 어렵습니다. 이 솔루션을 사용해보십시오.

희망이 도움이 :) item.EXPENSE_REPORTABLE``의 값이 'null`이며, 다음 줄 (의 RadioButton()`의 두 번째 파라미터에 발생하기 때문에