【发布时间】:2017-03-03 11:51:08
【问题描述】:
我从 3rd-side 静态页面(由 Adobe Muse 生成)捕获发布请求并使用 MVC 操作处理它。
<form method="post" enctype="multipart/form-data">
<input type="text" name="Name">
...
</form>
空表单动作的路由:
app.UseMvc(routes => routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}"));
但是在相应的操作中,我的模型每个属性都是空的
行动:
[HttpPost]
public void Index(EmailModel email)
{
Debug.WriteLine("Sending email");
}
型号:
public class EmailModel
{
public string Name { get; set; }
public string Email { get; set; }
public string Company { get; set; }
public string Phone { get; set; }
public string Additional { get; set; }
}
Request.Form 包含表单中的所有值,但模型为空
[0] {[Name, Example]}
[1] {[Email, Example@example.com]}
[2] {[Company, Hello]}
[3] {[Phone, Hello]}
[4] {[Additional, Hello]}
【问题讨论】:
-
你为什么使用
enctype="multipart/form-data"?您无需指定此项,因为您的模型不包含任何文件上传。可能您的问题由此引起。删除并尝试。 -
@ademcaglin 删除了
enctype属性。没有帮助。Request.Form仍然具有所有值,但model为空。 -
您是否使用任何 javascript 代码发送表单?
-
@ademcaglin 不,只是纯表单提交
标签: c# asp.net forms asp.net-core model-binding