我在下面的代码中遇到了一些问题。我有2个字段和一个搜索按钮。当我仅为字段Holiday
提供值并进行搜索时,它不会触及控制器。但是,如果我为字段Year
赋予值,那么只有它会触及控制器并将该字段的值传递给它。
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();
答案 0 :(得分:2)
这条路线总是期待一年,因为年份不是可选参数。 你可以通过使年可以为空来解决这个问题:
Excel