我是ASP.NET的新手,在ASP.NETCore2.0中使用VS2017,这是一个没有授权的.NET核心->空项目。我有以下问题:“函数求值需要所有线程运行”,当在调试模式下点击Watch1中的“立即求值”按钮时,VS响应“求值超时”。
这是我的C#代码,但现在
app.MapWhen(req => req.Request.Path.Value == "/cat/add",
catAdd =>
{
catAdd.Run( async (context) =>
{
if (context.Request.Method == HttpMethod.Get)
{
context.Response.Redirect("/cats-add-form.html");
}
else if (context.Request.Method == HttpMethod.Post)
{
var db = context.RequestServices.GetRequiredService<CatsDbContext>();
var formData = context.Request.Form;
var cat = new Cat
{
Name = formData["Name"],
Age = int.Parse(formData["Age"]),
Breed = formData["Breed"],
ImageUrl = formData["ImageUrl"]
};
db.Add(cat);
try
{
await db.SaveChangesAsync();
context.Response.Redirect("/");
}
catch
{
await context.Response.WriteAsync("<h2>Invalid cat data!</h2>");
await context.Response.WriteAsync(@"<href== ""/cat/add"">Back To The Form</a>");
}
}
});
});问题出在"formData“中
这是HTML
<h1>Add Cat</h1>
<form method="post" action="/cat/add">
<label for="Name">Name:</label>
<input type="text" name="Name" id="Name" />
<br />
<label for="Age">Age:</label>
<input type="number" name="Age" />
<br />
<label for="Bread">Bread:</label>
<input type="text" name="Bread" />
<br />
<label for="ImageUrl">ImageUrl:</label>
<input type="url" name="ImageUrl" />
<br />
<input type="submit" value="Add Cat" />
</form>我认为问题在于:它不接受我的表单数据
发布于 2018-01-27 01:28:14
我今天在我的asp.net Core2项目中也看到了这个问题。我认为可能存在与VS 2017调试器和asp.net Core2相关的错误。
当我将断点放在包含Request.Form的行之外时,一切都很正常。
请参阅此页面。https://developercommunity.visualstudio.com/content/problem/146887/vs2017-v4-requestform-debug.html
https://stackoverflow.com/questions/48325012
复制相似问题