Asp.net core 使用asp在具有EF Core的MVC Core应用程序中设置属性?
我从这些文档中了解到:,asp for用于将值从输入元素传输到后端C#类属性,例如:Asp.net core 使用asp在具有EF Core的MVC Core应用程序中设置属性?,asp.net-core,asp.net-core-mvc,ef-core-3.1,Asp.net Core,Asp.net Core Mvc,Ef Core 3.1,我从这些文档中了解到:,asp for用于将值从输入元素传输到后端C#类属性,例如: <input type="text" id="wsite" name="wsite" maxlength="11" asp-for="WebsiteName"> 但是,使用console.WriteLine进行测试表明,在提交包含输入的表单后,属性仍然为null。知道我错过了什么吗 编辑:已更新以显
<input type="text" id="wsite" name="wsite" maxlength="11" asp-for="WebsiteName">
但是,使用console.WriteLine进行测试表明,在提交包含输入的表单后,属性仍然为null。知道我错过了什么吗
编辑:已更新以显示我的属性名称和值匹配的asp,并添加我的控制器:
[HttpPost]
public IActionResult Post()
{
DBCRUD.Initialize(_context);
return NoContent();
}
public MyReturnVariable ActionName(ClassName class) {
Console.WriteLine(class.VarName);
}
[HttpGet]
public IActionResult AddBook()
{
BookModel book = new BookModel()
{
ID = 1001,
bookName = "War and Peace",
Title = "War and Peace"
};
return View(book);
}
asp for标记应与变量名匹配 尝试定义html表单,如:
@model Classname
<form asp-action="ActionName" asp-controller="ControllerName" ...>
<input type="text" asp-for="VarName">
标记帮助器用于模型绑定以及在网页中创建和呈现HTML元素(显示模型属性) 因此,在Web页面(或视图页面)的标题顶部,我们应该添加以下代码来分配模型
@model MVCSample.Models.BookModel
然后,使用以下代码显示属性:
<div class="row">
<div class="col-md-4">
<form asp-action="AddBook">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="ID" class="control-label"></label>
<input asp-for="ID" class="form-control" />
<span asp-validation-for="ID" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="bookName" class="control-label"></label>
<input asp-for="bookName" class="form-control" />
<span asp-validation-for="bookName" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="Title" class="control-label"></label>
<input asp-for="Title" class="form-control" />
<span asp-validation-for="Title" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-primary" />
</div>
</form>
</div>
</div>
模型中的代码:
public class BookModel
{
public int ID { get; set; }
public string bookName { get; set; }
public string Title { get; set; }
}
更多详细信息,您可以查看。能否向我们显示将接收提交数据的控制器操作?更新了我的原始帖子以显示控制器。您添加的链接似乎是特定于Razor页面的,我没有使用。在你的答案中还有很多多余的代码。谢谢你的回复。编辑:我现在知道模型绑定可以在Razor页面之外使用,所以谢谢!更新了我的原始帖子以显示控制器。在控制器中使用Console.WriteLine也会出现“无法访问代码”错误。
public class BookModel
{
public int ID { get; set; }
public string bookName { get; set; }
public string Title { get; set; }
}