0
我在下面的代碼有一些問題。我有2個字段和一個搜索按鈕。當我僅給Holiday
字段賦予價值並進行搜索時,它不會觸及控制器。但是如果我爲Year
字段給出價值,那麼只有它擊中控制器並將字段的值傳遞給它。Ajax.BeginForm()沒有命中控制器
Index.cshtml:
@using (Ajax.BeginForm("Search", "Holiday", new System.Web.Mvc.Ajax.AjaxOptions
{
InsertionMode = System.Web.Mvc.Ajax.InsertionMode.Replace,
HttpMethod = "POST",
UpdateTargetId = "holidaylist"
}))
{
<table>
<tr>
<td>Holiday: </td>
<td><input id="searchtext" name="searchtext" type="text" /></td>
<td>Year: </td>
<td><input id="year" name="year" type="text" /> </td>
<td><input type="submit" value="View" id="BtnSubmit" /></td>
</tr>
</table>
}
控制器:
HttpPost]
public ActionResult Search(string searchtext, int year)
{
try
{
string selyear = year.ToString();
控制器的名稱是什麼?你也有任何自定義路線? – JanR
因爲參數'year'是typeof'int'並且是必需的(你的控制器會拋出一個異常,將它改爲'int?year'(可爲空) –