В настоящее время я отправляю текстовую область и список элементов для просмотра через тело http. Однако сейчас я пытаюсь перейти к более элегантному решению и хочу отправить его в качестве модели. Я посмотрел в Интернете, и я не могу найти ничего, что поможет мне понять.
Я знаю, что вы можете опубликовать данные в html, используя "html.beginForm" и просто используя тег "form". Я использую тег формы для отправки своих товаров. Как добавить модель в этот тег, чтобы данные, отправленные по почте, имели желаемый формат
<form name="message" id="message" action="/message/" method="post">
<ul id="list">
<li style="list-style-type:disc;">E-mail: <input type="email" name="emailaddress" required></li>
</ul>
<p><button type="button" onclick="addEmailField()">Add email</button></p>
<script>
function addEmailField() {
var ul = document.getElementById("message").getElementsByTagName("UL")[0];
if (ul.childElementCount < 25) {
var li = document.createElement("li");
li.innerHTML = "<li>E-mail: <input type='email' name='emailaddress' required></li>";
ul.appendChild(li);
} else {
alert("Reached limit of 25 emails, can not add more");
}
}
</script>
<p><button type="button" onclick="removeEmailField()">Remove email</button></p>
<script>
function removeEmailField() {
var ul = document.getElementById("message").getElementsByTagName("UL")[0];
if (ul.childElementCount > 1) {
ul.removeChild(ul.lastChild);
}
}
</script><br><br><br>
<h3>Message</h3>
<textarea name="textarea" style="width:750px;height:300px;resize:none;" maxlength="3500" ; required></textarea><br>
<input type="submit" value="Submit" />
</form>
моя модель:
using System;
using System.Collections.Generic;
using System.Text;
namespace OneTimeTool.Models
{
public class ClientInput
{
public string[] Emails { get; set; }
public string Message { get; set; }
}
}
я хочу иметь возможность использовать объект в контроллере для доступа к значениям (список электронных писем и текстовое поле) вместо того, чтобы вручную извлекать их из тела.
[HttpPost]
public IActionResult message(ClientInput model)