ASP.NET Razor页面错误:InvalidOperationException:不正确的内容类型

时间:2018-07-20 16:31:44

标签: c# html asp.net razor

因此,我对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>

奇怪的是,我之前多次运行此代码,只是做了小的设计更改,而与表单本身没有任何关系,并且可以正常工作而不会出现错误,但是现在已经开始显示此错误,我不确定如何解决它。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

我不知道Request在您的代码中代表什么。因为您页面中的任何内容都没有这样命名。如果您在某处有某种快捷方式,我想您将从模型中获得Request属性。因此,您指的是PageModel的{​​{1}}属性,因为您的模型Request继承自IndexModel

如果上述内容正确,那么我怀疑您在错误的位置使用了PageModel

在那个时间点(即剃刀引擎解析并呈现您的模板时),您打算如何完成对Request.Form的阅读?请注意,那里还没有表格。所以这可能就是为什么您会收到这样的错误。

该错误可能会引起误解,因为您的代码在处理过程中太早将请求弄乱了。您基本上是在没有任何内容且弹出的异常是告诉您表单没有Request.Fromapplication/x-www-form-urlencoded作为其{{1}的情况下,强迫引擎读取表单。 }标头值。但同样,失败的主要原因是您在错误的位置使用了multipart/form-data

也许您应该更好地解释您的最终目标是什么,以便我们可以更好地了解什么是错的?

希望这会有所帮助!