如果在MVC Core 3.1中使用asp-for属性,则在POST之后未设置该值

蛇眼

我有简单的视图模型:

public class GogViewModel
{
  [Required]
  public string Name { get; set; }

  public bool IsBeta { get; set; }

  public string Result { get; set; }
}

和控制器:

[HttpGet]
public IActionResult Index()
{
  return View(new GogViewModel());
}

[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Index(GogViewModel model)
{
  if (ModelState.IsValid)
  {
    model.Result = DoSomething();
  }

  return View(model);
}

和视图:

@model GogViewModel
<div>
  <form method="post">
    @Html.AntiForgeryToken()

    <div class="form-group row">
      <label class="col-sm-2 col-form-label" asp-for="Name">Release name</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" asp-for="Name" placeholder="paste release name here" />
      </div>
    </div>
    <div class="form-group row">
      <label class="col-sm-2 col-form-label" asp-for="Result">Result</label>
      <div class="col-sm-9">
        <input type="text" class="form-control-plaintext" readonly="readonly" asp-for="Result" />
         <p>@Model.Result</p> <!-- it works here means the value is printed -->
      </div>
      <div class="col-sm-1">
        <button type="button" class="btn btn-outline-info copy float-right" data-target="Result"><i class="far fa-copy"></i></button>
      </div>
      <div class="clearfix"></div>
    </div>
    <input type="submit" class="btn btn-success" value="Fix it" />
  </form>
</div>

POST请求后不以某种方式输出结果。

为什么呢 我的错在哪里?

蛇眼

它将以以下方式工作:

  1. 将私有设置器设置为Resultproperty =>public string Result {get; private set;}
  2. 添加为结果设置值的方法: internal void SetResult(string result) { Result = result; }
  3. 在控制器中,调用方式SetResult如下:model.SetResult(...);

并将显示为只读输入。我不知道它为什么起作用,我也不知道为什么将其输入时会清除该值。

我使用具有readonly属性的输入,以便使用javascript将输出值复制到剪贴板。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果在ASP.NET Core MVC中找不到用户,则使用电子邮件或用户名登录的用户将为空

将表 1 与表 2 连接。如果在表 2 中找不到值,则从表 3 中获取

否则,如果在Python3中的列表理解

如果在 Javascript 中为真,则设置对象属性

如果在4月1日之后执行代码

如果在Asp.Net Core中指定了多个策略(例如,中间件配置,控制器/操作属性),则使用哪种授权策略?

如果在表1中存在,则显示表2,否则在SQL中为表3记录显示表1

如果在地图内返回,该如何使用?

如果在闭包中使用变量,则在扩充赋值中重新定义

如果在MVC .cshtml页面内使用Javascript

如果在python中不是None则强制转换值

如果在if中,则随机值不是随机的

如果在Asp.Net Core身份中用户登录连续失败,如何禁用帐户

角度错误:如果在表单标签中使用ngModel,则必须设置name属性或

如果在表单标签中使用 ngModel,则必须设置 name 属性

如果在 php 中获得重复值,则在数组中添加值

如果在Java中使用toString,则在修改String时StringBuilder的效率

如果在Java中 如果在C ++中

如果在VPC中,AWS File Gateway是否使用S3终端节点?

如果在滞后中使用的列具有相同的值,则在使用滞后函数时分配相同的值

如果在工作表1 A列中找到值,则需要将整个行从工作表2粘贴到工作表3

如果在表中找到active = 1,则在mysql结果中完全排除用户ID

如果在Java中使用对话框框架,则在顶部对话框上进行设置

Flutter:如果在InputDecoration的errorText属性中有条件,该如何使用?

如果在表1中值为X,则在表2中标记值X

处理2,2,1 java。如果在3D形状内,则重置位置

如果在 cpanel 中使用 codeigniter,如何设置 cron 作业?

如果在表单标签集名称中使用ngModel或设置独立错误

如果在django中关联了父表,则打印该值