ASP .NET MVC - 将TextBox中的文本添加到表中

时间:2018-03-19 22:44:05

标签: c# asp.net-mvc

如何在列表中添加内容并将其显示在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;有人可以解释我的错误吗?按钮什么都没发生?

1 个答案:

答案 0 :(得分:0)

您需要告诉您的表单您的文本框代表什么。

而不是使用&#34; myTextBox&#34;对于文本框的name参数,请在控制器方法public IActionResult Add(string link)中为其指定参数的名称(示例中为 link ),将表单绑定到。

简而言之,您需要将视图中的文本框声明更改为: @Html.TextBox("link")

注意:Html.TextBox(...)标记后面的分号是不必要的