将我的MVC4应用程序升级到MVC5并跟随此tutorial后出现编译错误:
@using System.Net.Http
@model MyApplication.Models.Data
@{
ViewBag.Title = "My Page";
}
@using (Ajax.BeginForm("Add", "Home", HttpMethod.Post, new AjaxOptions() { UpdateTargetId = "Result" }, new { @class = "form-horizontal" }))
{
@Html.Partial("Partial")
<div id="Result">
@Html.Partial("AddPartial", Model);
</div>
}
错误CS0103:当前上下文中不存在名称“HttpMethod”
我在项目中引用了System.Net.Http.dll(4.0.0.0)。
编辑:更新后我仍然在“管理Nuget包”中发出警告,说某些软件包无法完全卸载并告诉我重新启动VS,但是这样做不起作用并且警告仍在那里。答案 0 :(得分:1)
在 Ajax.BeginForm 中,我们需要在AjaxOptions
中使用属性HttpMethod
传递带有字符POST
或GET
的方法:
@using (Ajax.BeginForm("Add", "Home", new AjaxOptions()
{
UpdateTargetId = "Result",
HttpMethod="POST"
}, new { @class = "form-horizontal" }))
{
}
在 Html.BeginForm 中,我们必须传入第三个参数,即枚举FormMethod
,在后一种情况下,我们使用FormMethod.Post
:
@using (Html.BeginForm("Add", "Home",FormMethod.Post, new { @class = "form-horizontal" }))
{
}