首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MVC模型变量未更新

MVC模型变量未更新
EN

Stack Overflow用户
提问于 2018-10-16 04:27:48
回答 1查看 51关注 0票数 0

该项目是一个计算器,只有一个按钮和一个用于表达式和输出的标签字段。

按下任何按钮后,将出现对两个功能之一的POST。这是控制器

代码语言:javascript
复制
public class CalculatorController : Controller
{
    public IActionResult Index()
    {
        return View();
    }

    [HttpPost]
    public IActionResult AddToExpresion(string _char, CalculatorViewModel CVM)
    {
        CVM.Expression += _char;
        return View("Index", CVM);
    }
}

这是视图

代码语言:javascript
复制
@model WebApplication1.Models.CalculatorViewModel
@{
    ViewData["Title"] = "Calculator";
}

<h2>Calculator</h2>

<form asp-controller="Calculator" asp-action="Calculate" method="post">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-3">
                <label asp-for="Expression">@Html.DisplayFor(x => x.Expression)</label>
                <input asp-for="Expression" type="hidden" />
            </div>
        </div>
        <div class="row">
            <button type="submit" class="btn" asp-action="AddToExpresion" asp-route-_char="(">
                (
            </button>
            <button type="submit" class="btn" asp-action="AddToExpresion" asp-route-_char=")" >
                )
            </button>
            <button type="submit" class="btn" asp-action="AddToExpresion" asp-route-_char="%">
                %
            </button>
            <button type="button" class="btn" value="AC">
                AC
            </button>
        </div>
..
    </div>
</form>

问题是,当调用AddToExpression时,一开始表达式是空的(正确地说是这样),然后在第二次尝试之后仍然是空的(应该是前一个字符),为什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-16 04:41:03

如果没有绑定到输入,则不会将值与表单一起提交。因此,如果您需要保留以前提交的字符,则需要在表单中添加输入。不熟悉新的helper语法,但这应该可以工作:

代码语言:javascript
复制
<div class="col-md-3">
    <label asp-for="Expression">@Html.DisplayFor(x => x.Expression)</label>
    <input asp-for="Expression" type="hidden" />
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52824306

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档