无法通过asp.net vNext应用程序上的POST发送参数。 (beta 3)(MV6,mono,EF7,OSX)

时间:2015-05-04 20:52:32

标签: asp.net macos post mono asp.net-core-mvc

我希望有人可以帮助我... 我正在开发一个新的小项目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,我在这里是个菜鸟......

提前致谢。

1 个答案:

答案 0 :(得分:1)

我真的不知道mvc6但是mvc5在查询字符串中发送了一个简单的字符串参数。

您是否尝试删除

[FromBody]

编辑: 在MVC5中,可以通过表单帖子,查询字符串或路由值发送简单的字符串参数。