我不知道我做錯了什麼,或者是什麼原因導致了這個錯誤。當我提交此表到控制器,控制器接收2個空字段:控制器收到空表格
下面是這個視圖裏面的形式:
@Using Html.BeginForm("contactSearch", "search", FormMethod.Post)
@Html.TextBox("SearchString")
@Html.DropDownList("opportunite", "Choisissez une opportunité")
@<input type="submit" value="Submit!" />
End Using
這裏是控制器:
<HttpPost()>
Function contactSearch(ByVal search As String, ByVal opportunite As opportunite) As ViewResult
If opportunite Is Nothing Then
ModelState.AddModelError("opportunite", "Opportunite is empty")
ViewBag.opportunite = New SelectList(db.opportunite, "idOpportunite", "nomOffre")
Return View()
End If
...
我還有點問題,如果我寫:
Function contactSearch(ByVal searchString As String, ByVal opportunite As Integer)
如果其中一個字段是空的,我得到這個錯誤:參數字典包含空條目參數'機會'...
所以,我必須解決這個問題的唯一方法是使用代碼下面。沒有更好的方法來解決這個問題嗎?
Function contactSearch(ByVal search As String, ByVal opportunite As opportunite) As ViewResult
Dim opport As Integer = 0
Try
opport = Val(Request("opportunite"))
Catch ex As Exception
End Try
If opport = 0 Then
選擇列表的的HTML代碼給水木清華這樣的:<期權價值=「2」>名稱 ......如果我寫: 「作爲整數的機會」?我也明白爲什麼它以前工作,我問控制器內的值這種方式:Dim chaine As String = Request(「searchString」) –
是的,你可以在這種情況下使用Integer。是的,這就是之前的原因。因爲您使用正確的名稱顯式提取了Request對象中的值。如果您尊重動作參數參數的相同命名約定,則它也可以工作,因此您不再需要從Request對象手動獲取它們。 –
所以,我編輯了另一個問題,因爲我認爲我所做的解決我的問題的方法可以得到改進 –