首先,我是网络开发的新手,请原谅我这个新手问题。
我的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" />
}
但这似乎不起作用。
答案 0 :(得分:2)
您可能需要将控制器名称指定为BeginForm
方法的第二个参数。
正如@Gendolkari还指出的那样:&#34;如果你提供动作名称,你必须提供控制器名称。否则,该参数将被解释为RouteValues对象。他可能只使用没有任何参数的BeginForm()。&#34;
比较
BeginForm(String, Object)
:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform%28v=vs.118%29.aspx#M:System.Web.Mvc.Html.FormExtensions.BeginForm%28System.Web.Mvc.HtmlHelper,System.Object%29 BeginForm(String, String)
:https://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform%28v=vs.118%29.aspx#M:System.Web.Mvc.Html.FormExtensions.BeginForm%28System.Web.Mvc.HtmlHelper,System.String,System.String%29