我不斷收到編譯錯誤,無法找到匹配的重載方法。我嘗試了幾種方法(變量,variable.toString)。以下是最新的嘗試。如何將變量追加到ActionLink中的字符串?
當我點擊日曆上的日期(例如:2)時,ActionLink應該發送查詢字符串:「Index?day = 2」。
我不斷收到編譯錯誤,無法找到匹配的重載方法。我嘗試了幾種方法(變量,variable.toString)。以下是最新的嘗試。如何將變量追加到ActionLink中的字符串?
當我點擊日曆上的日期(例如:2)時,ActionLink應該發送查詢字符串:「Index?day = 2」。
做這個
<div>
<span>
@Html.ActionLink(startCount.ToString(), "Index", new { day = startCount })
</span>
</div>
最後一個參數創建具有財產day
和價值startCount
一個匿名對象。 ActionLink知道使用屬性名稱和屬性值將它轉換爲查詢字符串。
更多詳細的http://msdn.microsoft.com/en-us/library/dd492936.aspx
編輯:
如果你想針對特定的控制器,這樣做
@Html.ActionLink(startCount.ToString(), "Index", new { controller = "Event", day = startCount })
你也可以做到這一點
@Html.ActionLink(startCount.ToString(), "Index", "Event", new { day = startCount }, null)
但我不喜歡傳球以null
作爲參數。
這裏的所有重載的列表:http://msdn.microsoft.com/en-us/library/dd505040.aspx
你也可以在智能感知週期。
這應該工作
@Html.ActionLink(@startCount.ToString,"Index","Yourcontroller",new { [email protected]()} , null)
與控制器名稱
查詢字符串被顯示HTTP更換Yourcontroller://本地主機/長度= 5。 – dotnetN00b 2012-04-19 15:53:11
我剛剛測試了這一點,我得到了正確的值。你能確保你正確地複製了我的答案嗎?一般來說,當你看到'length = X'時,這意味着你正在使用'ActionLink'的不正確的重載。請參閱http://stackoverflow.com/questions/824279/why-does-html-actionlink-render-length-4 – Omar 2012-04-19 15:59:22
那麼,我需要ActionLink去事件控制器。所以我在第一個答案中加了這個。 – dotnetN00b 2012-04-19 16:00:37