我希望有人可以帮助我... 我正在开发一个新的小项目osx,并“了解”MV6和Entity Framework 7的新vNext,单声道,红隼,并使用崇高的文本进行编码...... 我有一个非常简单的形式:
<div class="login-form-outer">
@using (Html.BeginForm("Login2", "Account", null, FormMethod.Post, new { @class = "form-horizontal", role = "form", @autocomplete="off" }))
{
@Html.AntiForgeryToken()
<h4>Use a Local Account to log in.</h4>
<hr>
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(m => m.Name, new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
@Html.ValidationMessageFor(m => m.Name)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Log in" class="btn btn-default" />
</div>
</div>
} </div>
</div>
表单提交,操作“Login2”被调用,但参数永远不会到达操作 ... 这是行动BTW。
[HttpPost]
[AllowAnonymous]
public IActionResult Login2([FromBody] string Name)
{
Console.WriteLine(Name);
Console.WriteLine("Login2");
return RedirectToAction("Index", "Home");
}
控制台显示的唯一内容是“Login2”,重定向也可以。
事情是...... 我有一个运行SQL Server数据库的虚拟机 ...我在那里安装了visual studio 2015,并使用 WEB,KESTREL和IIS执行完全相同的项目(共享文件夹),他们都工作了!参数在控制台中打印出来...... 所以我真的不知道问题在哪里......它是单声道吗?它是OSX上的红隼吗?...请帮助!
我经常使用Rails和Laravel,我在这里是个菜鸟......
提前致谢。
答案 0 :(得分:1)
我真的不知道mvc6但是mvc5在查询字符串中发送了一个简单的字符串参数。
您是否尝试删除
[FromBody]
编辑: 在MVC5中,可以通过表单帖子,查询字符串或路由值发送简单的字符串参数。