我的一个asp.net核心页面没有将其模型传递回控制器。我在stackoverflow中研究过类似的线程,但都不能解决我的问题--在这种情况下有什么不同?
在附加的MVC中,我填入输入框“在这里输入一些文本”,然后我点击按钮“点击这里”。调试器正确地进入控制器,但变量"TEST“返回null。
有没有天才能帮到我?
我的模型:
namespace MyProgram.Models._04_ModuleTasker
{
public class TaskerViewModel
{
public SelectList SelectListLocations;
public SelectList SelectListUsers;
public SelectList SelectListFilters;
public string SelectedCompanyLocationDesc;
public string SelectedUserId;
public string SelectedFilter;
}
}
我的观点:
@model MyProgram.Models._04_ModuleTasker.TaskerViewModel
@{
ViewData["Title"] = "AllTasks";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="container-fluid">
<div class="PageTitle">
Tasker
<hr class="TitleHR" />
</div>
<div style="text-align:center;margin-top:20px" class="text-body">
<form asp-controller="Tasker" asp-action="ShowActiveTasksPOST" method="post" role="form">
<input type="text" asp-for="SelectedUserId" /> Enter here some text <br />
<input type="submit" class="btn btn-success InputShortWidth LoginButton" value="CLICK HERE" />
</form>
</div>
</div>
我的控制器:
[HttpPost]
public async Task<IActionResult> ShowActiveTasksPOST(TaskerViewModel taskerViewModel)
{
string TEST = taskerViewModel.SelectedUserId;
return RedirectToAction("Index", "Home");
}
发布于 2019-06-03 01:12:47
要使绑定生效,需要使用setter和getter将fields
转换为properties
。例如:
public string SelectedCompanyLocationDesc { get; set; }
public string SelectedUserId { get; set; }
public string SelectedFilter { get; set; }
https://stackoverflow.com/questions/56414452
复制相似问题