2012-04-19 80 views
1

我不斷收到編譯錯誤,無法找到匹配的重載方法。我嘗試了幾種方法(變量,variable.toString)。以下是最新的嘗試。如何將變量追加到ActionLink中的字符串?

當我點擊日曆上的日期(例如:2)時,ActionLink應該發送查詢字符串:「Index?day = 2」。

​​

回答

1

做這個

<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

你也可以在智能感知週期。

+0

查詢字符串被顯示HTTP更換Yourcontroller://本地主機/長度= 5。 – dotnetN00b 2012-04-19 15:53:11

+1

我剛剛測試了這一點,我得到了正確的值。你能確保你正確地複製了我的答案嗎?一般來說,當你看到'length = X'時,這意味着你正在使用'ActionLink'的不正確的重載。請參閱http://stackoverflow.com/questions/824279/why-does-html-actionlink-render-length-4 – Omar 2012-04-19 15:59:22

+0

那麼,我需要ActionLink去事件控制器。所以我在第一個答案中加了這個。 – dotnetN00b 2012-04-19 16:00:37

0

這應該工作

@Html.ActionLink(@startCount.ToString,"Index","Yourcontroller",new { [email protected]()} , null) 

與控制器名稱

相關問題