Чтобы быть в авангарде, моя карьера в основном была бэк-эндом C# Работа и ничего на переднем крае, поэтому мои знания по всем вещам на переднем крае очень ограничены. везде ищет способ передачи модели из вида в контроллер при нажатии клавиши ввода в текстовом поле. Я посмотрел на ajax и js, но ни один пример не показал мне, как пройти в модели. Я подошел ближе, и в результате в методе действия контроллера модель была нулевой. В качестве примера нижеприведенного кода я хотел бы иметь событие в текстовом поле Zip, когда кто-то нажимает клавишу Enter, когда фокус находится в указанном текстовом поле, он передает Модель, содержащую все значения, в действие контроллера GotZip.
Любая помощь будет принята с благодарностью!
Помоги мне, Оби-Ван Кеноби, ты моя единственная надежда ...
Index.cs html
@model MyProject.Models.MyModel
@{
ViewBag.Title = "MyApp";
}
<div class="text-left">
<form asp-controller="Home" asp-action="Index">
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
@Html.TextBoxForFor(model => model.Name)
</th>
</tr>
<tr>
<th>
@Html.DisplayNameFor(model => model.Address1)
@Html.TextBoxForFor(model => model.Address1)
</th>
</tr>
<tr>
<th>
@Html.DisplayNameFor(model => model.City)
@Html.TextBoxForFor(model => model.City)
</th>
</tr>
<tr>
<th>
@Html.DisplayNameFor(model => model.State)
@Html.TextBoxForFor(model => model.State)
</th>
</tr>
<tr>
<th>
@Html.DisplayNameFor(model => model.Zip)
@Html.TextBoxForFor(model => model.Zip)
</th>
</tr>
</table>
<input name="Submit" type="submit" asp-action="SubmitButton" value="Submit" />
</form>
</div>
MyModel.cs
namespace MyProject.Models
{
public class MyModel
{
public string Name { get; set; }
public string Address1 { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Zip { get; set; }
}
}
HomeController.cs
namespace MyProject.Controllers
{
[Authorize]
public class HomeController : Controller
{
public IActionResult SubmitButton([FromForm] MyModel model)
{
//do stuff with model
ModelState.Clear();
return View("Index", myModel);
}
public IActionResult GotZip([FromForm] MyModel model)
{
//do stuff with model
ModelState.Clear();
return View("Index", myModel);
}
}
}