2011-09-23 53 views
1

失敗我的代碼中的局部視圖MVC 3複選框@value在局部視圖

@Html.CheckBox("selectedUnit", new { @value = item.data.Id }) 

此局部視圖是一個表,其允許錶行的選擇下面的行。在我的回覆中,我會在窗體中使用Id或「false」來獲取我的複選框列表。

我的問題是在我原來的調用局部視圖一切都會按計劃,但是當我從第二頁中調用它(可選擇行象頁保存前去除),我得到了一個服務器異常說:

String was not recognized as a valid Boolean. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.FormatException: String was not recognized as a valid Boolean. 

Source Error: 

Line 73:  <tr> 
Line 74:   <td class="checkboxColumn"> 
Line 75:    @Html.CheckBox("selectedUnit", new { @value = item.data.Id }) 
Line 76:   </td> 
Line 77:   <td> 

我不知道爲什麼它在第一次調用時工作,但不是第二次。它與完全相同的一組數據完全相同的局部視圖。有任何想法嗎?

+0

對於第二頁,您的操作看起來如何? – smoak

+0

過去這個幫手的斷點,看看什麼是item.data.Id –

+0

的價值我已經搞亂了它,它甚至是一個基本的複選框調用失敗在這個局部視圖從第二頁調用時。 以下行也失敗了: '@ Html.CheckBox(「selectedUnit」)' 唯一的區別是工作的是返回PartialView調用2個其他部分視圖(它工作的地方),一個是返回視圖,調用局部視圖(它失敗的地方) – Rick

回答

0

確保item.data.id正在返回布爾值類型。請嘗試以下操作:

@Html.CheckBox("chxPoo", item.data.id) 
+0

@value不一定是boolean類型。它可以是字符串類型並將被返回。這就是它現在的設置,並且在我的主頁面通過ajax調用返回一個局部視圖進行調用時工作得很好。只有在通過常規回發調用並返回包含局部視圖的視圖時纔會失敗。 – Rick