2009-01-27 56 views
4

我有ActionLink的問題。 我想傳遞給我的ActionLink的參數爲我MessageController,編輯動作:產生的財產以後這樣的/ MessagesController /編輯/ 4如何將數據作爲參數綁定到ActionLink?

所以我有一個綁定表達式ListView控件:

以及如何將此ID傳遞給ActionLink作爲我的Controller Edit操作的參數? 這不起作用: ,NULL)%>
+1

我不知道爲什麼沒有人露出他在這裏使用一個容器中的問題,這是什麼容器是什麼?我認爲他試圖以某種方式混合使用ASP.NET和ASP.NET MVC,只是感覺如此。他應該在模型中提供他的數據。這就是他不接受解決方案的原因。 – mare 2010-04-23 16:55:45

+0

同意 - 如果你發現自己來到這個問題,並做類似的事情..停止..並拾取MVC書..或至少做更多的MVC閱讀.. – 2011-04-15 01:56:58

回答

2

試試這個

<%= Html.ActionLink("my link", "Edit", "Message", new { id = ((Message)Container.DataItem).ID }) %> 

你需要把它放在的RouteData得到它展現出來。注意我假設ID是您的路線定義中的一個路線部分。

6

在MVC中,您不應該以您擁有的方式從視圖中綁定數據。您想要傳遞給ActionLink方法的數據需要添加到控制器中的ViewData中。然後在視圖中,從ViewData的檢索:

<%= Html.ActionLink("My Edit Link", "Edit", "Message", new { id = ViewData["id"] }) %> 
+0

不知道是否因爲它不在ViewData中,但當我用int參數做這件事時,我得到一個不好的鏈接。下面的代碼使用額外的「null參數」工作,但是 <%= Html.ActionLink(「text」,「action」,「controller」,new {...},null)%> – t3rse 2010-04-23 12:31:02

3
<%= Html.ActionLink("My Edit Link", "Edit", "Message", new { id = ((Message)Container.DataItem).ID }, null) %> 
相關問題