【发布时间】:2021-11-14 02:35:47
【问题描述】:
我在 ASP.NET 中编写一个简单的应用程序时遇到问题。 我的想法是从该表单传递数据以在我的控制器中创建电影,然后我希望此控制器(AddMovie)将此电影发送到我的电影列表,并且我希望它显示在视图中。 我尝试了一些方法,但都没有奏效。我该怎么做?
查看:
@model IEnumerable<Movie>
@{
// ViewData["Title"] = "MovieView";
ViewBag.Title = "Welcome to My Page";
}
<h1>MoviesView</h1>
@foreach (var item in Model)
{
<div class="text-center">
<p>Id:item.Id </p>
<p>Name:item.Name</p>
<p>Author: item.Author</p>
</div>
<br />
}
<br />
<form asp-controller="MoviesController" method="post">
Id: <input type="text" name="movieId" /><br />
Name: <input type="text" name="movieName" /><br />
Author: <input type="text" name="movieAuthor" />
<input type="submit" value="Submit" formaction="AddMovie" />
</form>
<p>@ViewBag.Result</p>
控制器:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using WebMVCAPP_L.Models;
namespace WebMVCAPP_L.Controllers
{
public class MoviesController : Controller
{
List<Movie> movieList = new List<Movie>();
public IActionResult Index()
{
return View(movieList);
}
[HttpPost]
public IActionResult AddMovie()
{
int id = Convert.ToInt32(HttpContext.Request.Form["movieId"].ToString());
string name = HttpContext.Request.Form["movieName"].ToString();
string author = HttpContext.Request.Form["movieAuthor"].ToString();
Movie movie = new Movie(id,name,author);
movieList.Add(movie);
return View("Index");
}
}
}
【问题讨论】:
-
我建议您不要提供这么大的代码块,而只提供不起作用的行。
标签: c# asp.net-core asp.net-core-mvc