我使用了以下行動來拯救一個內容管理系統的管理員編輯的導航欄項目:將字符串轉換爲int(2)
[HttpPost]
public ActionResult aSaveNavs()
{
aLoggedIn();
NavItemsDataContext navDB = new NavItemsDataContext();
Nav n = navDB.Navs.Select(row => row.ID == Convert.ToInt32(Request.Form["ID"]));
n.NavName = Request.Form["NavName"];
n.NavURL = Request.Form["NavURL"];
n.NavEnabled = (Request.Form["NavEnabled"] == "true" ? true : false);
navDB.SubmitChanges();
return Redirect("/Admin/aHome");
}
我使用以下幾種觀點:
@{
List<Nav> navList = HtmlHelpers.GetNavList();
}
@foreach (Nav item in navList)
{
<tr>
<td style="width: 150px; text-align: center;">
@item.NavName
</td>
<td style="width: 150px; text-align: center;">
<input id="NavName" name="NavName" type="text" value="@item.NavName" />
</td>
<td style="width: 150px; text-align: center;">
<input id="NavURL" name="NavURL" type="text" value="@item.NavURL" />
</td>
<td>
<input id="ID" name="ID" type="text" readonly="readonly" value="@item.ID" />
</td>
</tr>
}
很明顯,該視圖還有其他幾個位,但這是所討論的部分。
當我嘗試並保存我的變化,我得到「System.FormatException:輸入字符串的不正確的格式。」並突出顯示以下行:
Nav n = navDB.Navs.FirstOrDefault(row => row.ID == Convert.ToInt32(Request.Form["ID"]));
在此先感謝您的任何幫助。
您需要學習使用MVC模型綁定。 – SLaks 2012-08-14 13:42:43