我有一个MVC5应用程序,在我的一个视图中,我有类似的东西:
<textarea id="msg" rows="5" cols="90"></textarea> <br />
@Html.ActionLink("Submit Message", "WriteMessage", new { message = msg }) <br />
关键在于,我希望获得值,即使用textarea
id
在msg
内写入文本,并在ActionLink
期间将其作为对象routeValue传递1}}。上面的代码似乎不起作用。我怎样才能做到这一点?
如果您想知道,我的WriteMessage
方法定义如下:
public ActionResult WriteMessage(string message)
答案 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"/>
}