如何在列表中添加内容并将其显示在ASP .NET CORE MVC的表中?我尝试做简单的网址缩短工具,但我甚至无法将完整链接传递给视图。
我的模型:
public class Link
{
public string FullLink { get; set; }
public string ShortenedLink { get; set; }
public static List<Link> _list = new List<Link>();
}
我的控制器:
public class LinkController : Controller
{
public IActionResult Index()
{
return View(Link._list);
}
[HttpPost]
public IActionResult Add(string link)
{
Link._list.Add(new Link { FullLink = link });
return RedirectToAction("Index");
}
}
我的观点:
@model List<UrlShortener.Models.Link>
<html>
<head>
<title></title>
</head>
<body>
@using (Html.BeginForm("Add", "Link", FormMethod.Post))
{
@Html.TextBox("myTextBox");
<input type="submit" value="Add" />
}
<div>
<table>
@foreach (var item in Model)
{
<tr><td>@item.FullLink</td></tr>
}
</table>
</div>
</body>
</html>
点击&#34;添加&#34;有人可以解释我的错误吗?按钮什么都没发生?
答案 0 :(得分:0)
您需要告诉您的表单您的文本框代表什么。
而不是使用&#34; myTextBox&#34;对于文本框的name
参数,请在控制器方法public IActionResult Add(string link)
中为其指定参数的名称(示例中为 link ),将表单绑定到。
简而言之,您需要将视图中的文本框声明更改为:
@Html.TextBox("link")
注意:Html.TextBox(...)
标记后面的分号是不必要的