我正在尝试学习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变量? 感谢您的时间和帮助!
答案 0 :(得分:3)
您不能这样做,因为RouteLink会在服务器上呈现。
如果你想在没有回发的情况下根据用户输入构建一个URL,你需要做一些客户端脚本(即JavaScript)。
答案 1 :(得分:1)
听起来,一旦输入了文本框值,您就不希望回发到服务器。如果是这种情况,那么您将需要使用javascript来更改链接的href属性。 Html.RouteLink完全在服务器端完成。
如果您使用的是jquery,那么它就像
$("#pageIndex").change(function()
{
$("#pageLink").href += "?pageIndex=" + $("#pageIndex")"
}
当然,这不会适用于被触发的多个更改事件,但该部分留给读者练习。