2010-03-01 25 views
1

我想學習asp.net MVC和有一個問題一個文本框的值提交給模型。Asp.net MVC添加文本框的值來routelink

我有一個文本框,在其中用戶會鍵入一個數字,當他們擊中了routelink的routelink將從文本框的值設爲並將其分配給項目。第一個。

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

如何將文本框的值分配給.Page變量? 感謝您的時間和幫助!

回答

3

你不能這樣做,因爲RouteLink獲取服務器上呈現。

如果你想構建一個基於用戶輸入一個URL沒有回傳,你需要做一些客戶端腳本(即JavaScript的)。

1

這聽起來像你不期待回發到服務器,一旦他們已經進入了文本框的值。如果是這種情況,那麼你將需要使用JavaScript來改變鏈接的href屬性。 Html.RouteLink完成服務器端。

如果您正在使用jQuery那麼它會是這樣的

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

當然,這是不會有被解僱的多個更改事件工作,但該部分就留給讀者自己練習。

+0

'pageIndex'可能是一個路徑值,而不是查詢字符串鍵雖然,這使得它更復雜一些。 – 2010-03-01 01:42:50

+0

不是真的,路由值仍然傳遞迴服務器的URI – stimms 2010-03-01 01:45:49

+0

刺激,想象他的URL是'/ home/search/2',其中'2'是pageIndex值。在你的代碼片段中,URL會變成'/ home/search/2?pageIndex = 3'。這就是我想說的。 – 2010-03-01 01:59:45