Asp.net MVC将文本框值添加到routelink

时间:2010-03-01 01:19:24

标签: asp.net-mvc routelink

我正在尝试学习asp.net MVC,并且有一个问题是向模型提交文本框值。

我有一个文本框,用户可以在其中键入一个数字,当他们点击routelink时,routelink将从文本框中获取值并将其分配给.Page项目之一。

<%=Html.TextBox("PageIndex")%>
<%=Html.RouteLink("Search", "UpcomingEvent", 
    New With {.Page = "I want to put value of PageIndex textbox here"})%>

如何将文本框的值分配给.Page变量? 感谢您的时间和帮助!

2 个答案:

答案 0 :(得分:3)

您不能这样做,因为RouteLink会在服务器上呈现。

如果你想在没有回发的情况下根据用户输入构建一个URL,你需要做一些客户端脚本(即JavaScript)。

答案 1 :(得分:1)

听起来,一旦输入了文本框值,您就不希望回发到服务器。如果是这种情况,那么您将需要使用javascript来更改链接的href属性。 Html.RouteLink完全在服务器端完成。

如果您使用的是jquery,那么它就像

$("#pageIndex").change(function()
  {
    $("#pageLink").href += "?pageIndex=" + $("#pageIndex")"
  }

当然,这不会适用于被触发的多个更改事件,但该部分留给读者练习。