无法通过 POST 在 asp.net vNext 应用程序上发送参数。 (测试版 3)(MV6、单声道、EF7、OSX)
Can't send parameters through POST on asp.net vNext app. (beta 3) (MV6, mono, EF7, OSX)
我希望有人能帮我解决这个...
我正在 osx 一个新的小项目和 "getting to know" 带有 MV6 和 Entity Framework 7 的新 vNext,带有单声道、红隼,并使用 sublime text 进行编码...
我有一个非常简单的表格:
<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" 被调用,但是 参数从未到达操作 ...
这是行动顺便说一句。
[HttpPost]
[AllowAnonymous]
public IActionResult Login2([FromBody] string Name)
{
Console.WriteLine(Name);
Console.WriteLine("Login2");
return RedirectToAction("Index", "Home");
}
控制台唯一显示的是 "Login2",重定向也有效。
事情是...
我有一个 虚拟机 运行 一个 SQL 服务器数据库...我在那里安装了 visual studio 2015,并执行了完全相同的项目(共享文件夹) 使用 WEB、KESTREL 和 IIS,它们都有效!该参数在控制台中打印...
所以我真的不知道问题出在哪里……是单声道吗?是 OSX 上的红隼吗?...请帮忙!
我通常与 Rails 和 Laravel 一起工作,我在这里是菜鸟...
提前致谢。
我不太了解 mvc6,但对于 mvc5,在查询字符串中发送了一个简单的字符串参数。
您是否尝试删除
[FromBody]
编辑:
在 MVC5 中,可以通过表单 post、查询字符串或路由值发送简单的字符串参数。
我希望有人能帮我解决这个... 我正在 osx 一个新的小项目和 "getting to know" 带有 MV6 和 Entity Framework 7 的新 vNext,带有单声道、红隼,并使用 sublime text 进行编码... 我有一个非常简单的表格:
<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" 被调用,但是 参数从未到达操作 ... 这是行动顺便说一句。
[HttpPost]
[AllowAnonymous]
public IActionResult Login2([FromBody] string Name)
{
Console.WriteLine(Name);
Console.WriteLine("Login2");
return RedirectToAction("Index", "Home");
}
控制台唯一显示的是 "Login2",重定向也有效。
事情是... 我有一个 虚拟机 运行 一个 SQL 服务器数据库...我在那里安装了 visual studio 2015,并执行了完全相同的项目(共享文件夹) 使用 WEB、KESTREL 和 IIS,它们都有效!该参数在控制台中打印... 所以我真的不知道问题出在哪里……是单声道吗?是 OSX 上的红隼吗?...请帮忙!
我通常与 Rails 和 Laravel 一起工作,我在这里是菜鸟...
提前致谢。
我不太了解 mvc6,但对于 mvc5,在查询字符串中发送了一个简单的字符串参数。
您是否尝试删除
[FromBody]
编辑: 在 MVC5 中,可以通过表单 post、查询字符串或路由值发送简单的字符串参数。