如何在MVC 5中将输入字段的值作为路由值?

时间:2014-12-18 16:01:27

标签: asp.net-mvc actionlink

我有一个MVC5应用程序,在我的一个视图中,我有类似的东西:

<textarea id="msg" rows="5" cols="90"></textarea> <br />
@Html.ActionLink("Submit Message", "WriteMessage", new { message = msg }) <br />

关键在于,我希望获得值,即使用textarea idmsg内写入文本,并在ActionLink期间将其作为对象routeValue传递1}}。上面的代码似乎不起作用。我怎样才能做到这一点?

如果您想知道,我的WriteMessage方法定义如下:

public ActionResult WriteMessage(string message)

1 个答案:

答案 0 :(得分:1)

你试图这样做的方式永远不会奏效。 Html.ActionLink是在您的服务器上运行的代码,这意味着它在您的用户看到文本框之前很久就会运行,更不用说将其填入。您可以将其放在表单中并在文本框中放置一个名称属性,这应该有效

@using(Html.BeginForm("WriteMessage", "Your Controller Name", FormMethod.Get))
{
    <textarea id="msg" rows="5" cols="90" name="message"></textarea>
    <br/>
    <input type="submit" value="Submit Message"/>
}