我使用了以下行动来拯救一个内容管理系统的管理员编辑的导航栏项目:将字符串转换为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