mvc将输入值传递给控制器​​参数

时间:2016-01-19 18:04:03

标签: c# html asp.net-mvc-4 button

首先,我是网络开发的新手,请原谅我这个新手问题。

我的View上有4个输入,当按下按钮时,我想将其发送到控制器。

<input type="text" name="title" />
<input type="text" name="description" />
<input type="text" name="link" />
<input type="date" name="date" />

这是我的ControllerMethod:

public ActionResult AddNewsToList(string title ="a", string description = "b", string link = "c", string pubDate = "01-02-2016")
    {
        Models.RssWriter.createNewsItem(title, description, link, pubDate);

        return View("News", NewsFeed.Models.RssReader.GetRssFeed());
    }

那么有人可以指导我制作一个可以为我做这个的按钮吗?谢谢你的阅读。

修改

这就是它现在的实际情况:

CreateNews.cshtml

@using (Html.BeginForm("AddNewsToList"))
{
    <table>
        <tr>
            <th>
                Titel
            </th>
        <tr>
            <td>
                <input type="text" name="title" />
            </td>
        <tr>
            <th>
                Beskrivelse
            </th>
        <tr>
            <td>
                <input type="text" name="description" />
            </td>
        <tr>
            <th>
                Link
            </th>
        <tr>
            <td>
                <input type="text" name="link" />
            </td>
        <tr>
            <th>
                Udgivelsesdato
            </th>
        <tr>
            <td>
                <input type="date" name="date" />
            </td>
        <tr>
            <td>
                <br />
            </td>

    </table>
    <input type="submit" id="AddNewsToList" name="AddNewsToList" value="Tilføj" />

}

但这似乎不起作用。

1 个答案:

答案 0 :(得分:2)

您可能需要将控制器名称指定为BeginForm方法的第二个参数。

正如@Gendolkari还指出的那样:&#34;如果你提供动作名称,你必须提供控制器名称。否则,该参数将被解释为RouteValues对象。他可能只使用没有任何参数的BeginForm()。&#34;

比较