asp.net mvc重定向到操作并从用户输入传递参数

时间:2011-03-02 12:13:19

标签: asp.net-mvc redirect

我有一个带有输入框和按钮的页面,当用户单击我想要重定向到控制器操作的按钮时,该操作将输入框的值作为参数。

<input id="CodProiect" type="text" />
<input id="Cauta" type="button" value="Cauta" onclick="window.location.href='@Url.Action("Cauta", "Componente", new { CodProiect = "param" })';"/>

如何从输入框中获取“参数”?

3 个答案:

答案 0 :(得分:2)

您可以使用带有GET方法的表单

<form action="@Url.Action("Cauta", "Componente")" method="GET">
  <input id="CodProiect" name="CodProiect" type="text" />
  <input id="Cauta" type="submit" value="Cauta" />
</form>

表单会将参数添加为URL的查询字符串的一部分,例如www.yoursite.com/Cauta/Componente?CodProiect=user+entered+value

答案 1 :(得分:0)

Action的值在服务器端准备并发送到浏览器,因此当用户输入时,您无法在服务器上获得该值。

您可以使用jquery更改客户端的URL。

PRG 场景中传递状态也是ASP NET MVC中的常见问题。你可以:

  • 暂时将其存储在会话中
  • 将其作为网址
  • 中的参数传递

答案 2 :(得分:0)

使用form

形式:

<form action="Componente/Cauta">
    <input id="CodProiect" type="text" />
    <input id="Cauta" type="submit" value="Cauta" />
</form>

控制器:

public ActionResult Cauta(string CodProiect)
{
   //Do some stuff
}

更多信息:http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx

语法可能已过时,但您明白了......