繁体   English   中英

将输入值传递给 controller 方法,而不是 Asp.Net Core 3 中的整个 model

[英]Passing input value to a controller method, not the whole model in Asp.Net Core 3

我有一个 ToDo 项目仪表板页面,我在其中显示 ToDo、它们的状态和一些其他应用程序信息。 我想要一个输入,我可以在其中添加一个字符串值(ToDo 标题),然后单击按钮将其传递给控制器的 Create get 方法,因此它会使用该值填充 Create views Title 输入字段。

如果可能的话,我希望没有表单,因为仪表板页面已经有一个 model,它是一个 IEnumerable,只需将该值作为查询字符串参数传递给 Create pages get view(或者它在 javascript 中是否可行?)。

我不是 MVC 专家,也不熟悉新的标签助手方法。 任何有关如何构建此内容的帮助都会有所帮助。

这是 html

 <!-- Add Task -->
  <div class="input-group input-group-lg">
     <input class="form-control" type="text" placeholder="Add task and press enter..">
     <span class="input-group-addon">
        <a asp-controller="ToDoItems" asp-action="Create" ><i class="fa fa-plus"></i></a>
     </span>
  </div>
 <!-- END Add task -->

这是新的 model

public Class MyModel{
    public IEnumerable<your old model> Old Model {get; set;}
    public string Title {get;set;}
}

您可以使用 razor 语法在 html 中创建这样的表单

    @model MyModel
...
        <form action="/Controller/PostTitle/" method="post">
             @Html.TextBoxFor(m => m.Title,new {@class = "...", @placeholder="...", 
             @requried="required"})
            <input id="export-btn" type="submit" value="Download" class="btn btn-info" />
        </form>

@TextBoxFor将创建一个文本框,lambda 允许您使用强类型 model。

这是 controller

 [HttpPost]
        public IActionResult PostTitle(string Title) {

           ...
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM