如何从视图发布输入数据

时间:2018-06-21 20:04:35

标签: c# asp.net-core razor-pages

查看

@page
@model modal.PagesModal
<form method="post">
        <label for="date">Date</label>
         <input asp-for="datefield" class="date" id="date" type="text"/>
         <span class="input-group-btn">
           <button type="button" data-toggle="datepicker" data-target-name="date">
              <i class="fa fa-calendar" aria-hidden="true"></i>
           </button>
         </span>
         <div >
            <button class="btn refreshButton">Refresh</button>
         </div>
</form>

型号

 public class PagesModel : PageModel
    {
        [BindProperty]
        public string datefield { get; set; }
        public List<> result{get;set} = new List<>();
        public PagesModel(Context context)
        {
            _context = context;
            result = GetPagesFromDB(datefield);
        }
    }

控制器

[HttpPost]
public void onPost(){
    result = GetPagesFromDB(datefield);
}

我想从我的视图中获取日期字段(输入asp-for =“ datefield” ...) 并将其发布到控制器以获取相应的数据库值。

问题是发布到控制器时,日期字段值为NULL。我不能弄清楚为什么控制器不完全采用datefield值。 我进行了很多搜索,但找不到原因。

1 个答案:

答案 0 :(得分:0)

您不接受OnPost中的任何内容。您应该拥有的是:

public void OnPost(PagesModel model) {

由于您不接受发布中的模型,因此它只是提供一个默认实例,该实例的null具有datefield