将输入值传递给控制器方法,而不是 Asp.Net Core 3 中的整个模型
Passing input value to a controller method, not the whole model in Asp.Net Core 3
我有一个待办事项仪表板页面,我在其中显示待办事项、它们的状态和一些其他应用程序信息。
我想要一个输入,我可以在其中添加一个字符串值(待办事项标题)并在按钮上单击
已将其传递给控制器的 Create get 方法,因此它会使用该值填充 Create views Title 输入字段。
如果可能的话,我想在没有表单的情况下使用它,因为仪表板页面已经有一个 IEnumerable 模型,只需将该值作为查询字符串参数传递给创建页面获取视图(或者它是否可以在 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 -->
这是新模型
public Class MyModel{
public IEnumerable<your old model> Old Model {get; set;}
public string Title {get;set;}
}
您可以在 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 允许您使用强类型模型。
这是控制器
[HttpPost]
public IActionResult PostTitle(string Title) {
...
}
我有一个待办事项仪表板页面,我在其中显示待办事项、它们的状态和一些其他应用程序信息。 我想要一个输入,我可以在其中添加一个字符串值(待办事项标题)并在按钮上单击 已将其传递给控制器的 Create get 方法,因此它会使用该值填充 Create views Title 输入字段。
如果可能的话,我想在没有表单的情况下使用它,因为仪表板页面已经有一个 IEnumerable 模型,只需将该值作为查询字符串参数传递给创建页面获取视图(或者它是否可以在 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 -->
这是新模型
public Class MyModel{
public IEnumerable<your old model> Old Model {get; set;}
public string Title {get;set;}
}
您可以在 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 允许您使用强类型模型。
这是控制器
[HttpPost]
public IActionResult PostTitle(string Title) {
...
}