Передача входного значения в метод контроллера, а не всю модель в Asp.Net Core 3 - PullRequest
0 голосов
/ 23 октября 2019

У меня есть страница панели инструментов элементов ToDo, где я отображаю ToDo, их статус и некоторую другую информацию о приложении. Я хочу иметь один ввод, в который я могу добавить строковое значение (заголовок ToDo) и по щелчку кнопки передать его в контроллер Get метод get, чтобы он заполнял поле ввода заголовка Create views этим значением.

Я хочу без формы, если это возможно, поскольку страница панели мониторинга уже имеет модель, представляющую собой 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 -->

1 Ответ

1 голос
/ 23 октября 2019

вот новая модель

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 создаст текстовое поле, и лямбда-код позволяетВы используете свою строго типизированную модель.

Вот контроллер

 [HttpPost]
        public IActionResult PostTitle(string Title) {

           ...
        }
...