【发布时间】:2019-10-18 05:55:13
【问题描述】:
我的一个 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");
}
【问题讨论】:
-
为表单生成的 html 是什么样的?
-
您没有将模型从控制器传递给视图。
-
Aleksa - 我应该更改什么以将模型传递给查看?
-
看看stackoverflow.com/questions/53882985/…你有同样的问题,你需要
setter and getter -
Hameed - 就是这样。非常感谢,让我卡了一整天,就这么简单。回答问题,我会记下的。
标签: asp.net-core