因此,我对ASP.NET Razor相对较新,并且遇到了一个不确定的错误,不确定如何解决。我已经创建了带有Razor页面的ASP.NET Core Web应用程序MVC。
我当前收到错误消息:InvalidOperationException: Incorrect Content-Type: Microsoft.AspNetCore.Http.Features.FormFeature.ReadForm()
当我加载项目时。告诉我错误在email = Request.Form["email];
与错误有关的文件:
@page
@model IndexModel
@{
ViewData["Title"] = "Login";
var email = "";
var pswd = "";
bool rem = false;
email = Request.Form["email"];
pswd = Request.Form["pswd"];
}
<div class="progress mt-5">
<div class="progress-bar progress-bar-striped progress-bar-animated"
style="width:40%"></div>
</div>
<br />
<div class="container mx-auto bg-warning" style="width:50%;">
<h1 class="title" style="text-align:center">TestWebApp</h1>
<form method="post" class="px-3 py-5">
<div class="form-group input-group">
<div class="input-group-prepend">
<span class="input-group-text bg-primary border-0 text-light" style="width:100px">Email</span>
</div>
<input type="email" class="form-control" id="email" placeholder="Enter email" name="email" value="">
</div>
<div class="form-group input-group">
<div class="input-group-prepend">
<span class="input-group-text bg-primary border-0 text-light" style="width:100px">Password</span>
</div>
<input type="password" class="form-control" placeholder="Enter password" name="pswd" value="@pswd">
</div>
<div class="form-group form-check">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" name="remember" value="@rem"> Remember me
</label>
</div>
<button type="submit" class="btn btn-primary" name="submit">Submit</button>
</form>
</div>
奇怪的是,我之前多次运行此代码,只是做了小的设计更改,而与表单本身没有任何关系,并且可以正常工作而不会出现错误,但是现在已经开始显示此错误,我不确定如何解决它。非常感谢您的帮助。
答案 0 :(得分:1)
我不知道Request
在您的代码中代表什么。因为您页面中的任何内容都没有这样命名。如果您在某处有某种快捷方式,我想您将从模型中获得Request
属性。因此,您指的是PageModel
的{{1}}属性,因为您的模型Request
继承自IndexModel
。
如果上述内容正确,那么我怀疑您在错误的位置使用了PageModel
。
在那个时间点(即剃刀引擎解析并呈现您的模板时),您打算如何完成对Request.Form
的阅读?请注意,那里还没有表格。所以这可能就是为什么您会收到这样的错误。
该错误可能会引起误解,因为您的代码在处理过程中太早将请求弄乱了。您基本上是在没有任何内容且弹出的异常是告诉您表单没有Request.From
和application/x-www-form-urlencoded
作为其{{1}的情况下,强迫引擎读取表单。 }标头值。但同样,失败的主要原因是您在错误的位置使用了multipart/form-data
。
也许您应该更好地解释您的最终目标是什么,以便我们可以更好地了解什么是错的?
希望这会有所帮助!