c# - 表单 POST 不做任何事情
问题描述
我有一个用 ASP.NET Core(最新版本)制作的 web 应用程序,它需要使用一个弹出表单,其中必须填写 1 个值,然后将其发送回控制器以稍后使用该值。
所以过程是这样的:按钮 > 点击按钮 > 弹出表单弹出(图片:弹出表单是部分视图) > 填写值 > 提交 > 将结果发送回控制器。
但是,每当我按下提交按钮时,它都会将我发送到 400 错误未找到页面。会出什么问题?
以下是部分视图弹出表单代码:
@model IEnumerable<ApplicationName.Models.Moederblad>
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper *, AuthoringTagHelpers
@Html.AntiForgeryToken()
<div id="element_to_pop_up">
<a class="b-close">x</a>
//Actionresult > Controller
@using (Html.BeginForm("Incassodatum", "Moederblads", FormMethod.Post))
{
<br />
<div class="row">
<div class="col-md-6">
<label for="Incassodatum">Incassodatum</label>
<input class="form-control" placeholder="Bijvoorbeeld: 19-02-2020" type="text" data-val="true" data-val-regex="Dat is geen geldige datum" data-val-regex-pattern="^(0[1-9]|[12][0-9]|3[01])[/](0[1-9]|1[012])[/](19|20)[0-9]{2}$, " id="Incassodatum" name="Incassodatum">
</div>
</div>
<div class="row">
</div>
<br>
<input name="__RequestVerificationToken" type="submit" class="btn btn-primary submit" value="Toevoegen" id="submit">
}
</div>
这是对应的控制器:
[HttpGet]
public ActionResult Incassodatum()
{
return View();
}
//Automatisch de datum van vandaag in het Incassodatum veld zetten nadat er op een knop is gedrukt
[HttpPost, ValidateAntiForgeryToken]
public ActionResult Incassodatum(string Incassodatum)
{
string date= "";
if (ModelState.IsValid)
{
date = Incassodatum;
}
else
{
date = "Something went wrong.";
}
TempData["Incassodatum"] = $"{Incassodatum}";
return RedirectToAction("Index");
}
然后稍后我可以使用 tempdata 读出值,但它根本不起作用,所以现在实际上没用。
我尝试在帖子上方添加 [Route("Moederblads/Incassodatum")] 属性。我在普通视图中尝试过(所以不是局部视图),在那里我可以看到 F12 的值。尝试更改对象名称,因为我认为它可能与其他名称冲突。
不知道现在该怎么办。大家有猜想吗?
解决方案
最后很简单:我只需要删除方法上方的 [HttpPost] 标记和 [HttpGet] 方法,因为它最终什么也没做。之后它达到了我的断点并且可以验证该值是否正常:)
推荐阅读
- laravel-5 - 在 Laravel 5.6 中集成 PayUMoney
- python - 有没有办法在不先计算一阶导数的情况下计算数据的二阶导数?
- salesforce-marketing-cloud - 联系 Builder Marketing Cloud Connect 问题
- bash - 重击 | 将 .txt 导入 .txt 文件,逐行使用“读取时”
- laravel - 为什么 php PUT 路由在 apache 中有效,但在 IIS 中无效?
- html - 包装时如何防止弹性项目拉伸
- ruby-on-rails - NameError: undefined local variable or method `app' for - Rails 5.1.6 升级
- reactjs - 动态获取变量 JSX
- java - 使用 FasterXML 流式处理 POJO 的 ArrayList
- highcharts - Highcharts 无法设置响应点宽度