2013-02-21 28 views
1

我有一個視圖,它是可訪問的http://localhost:49467/About/及其被稱爲index.cshtml使用C#添加鏈接mvc

我有另一種看法,其中被訪問的http://localhost:49467/Food/,被稱爲index2.cshtml

我要放置index.cshtml頁面內的鏈接,這樣我可以訪問index2.cshtml。我該怎麼做。我的代碼;

@Html.ActionLink("link", "Food/index") 

但我最終在網址http://localhost:49467/About/Food/和頁面未找到。所有我想要做的是導航到http://localhost:49467/Food/。我怎樣才能糾正這一點?

+0

'@ Html.ActionLink( 「鏈接」, 「食品/索引2」)'? – 2013-02-21 19:50:02

+0

不起作用。去'../關於/食物/ index2'而不是 – 2013-02-21 19:53:51

+0

你爲什麼用'「食物/索引2」'?正確使用方法...'@ Html.ActionLink(「鏈接文本」,「索引」,「食物」)' – 2013-02-21 19:57:20

回答

1
@Html.ActionLink("link", "/Food/index") 

請注意額外的斜線。 或者你的Routes看起來像/ Food使用index2.cshtml。所以你應該能夠逃脫

@Html.ActionLink("link", "index2", "Food") 

在MVC中,你不用太擔心意見的文件名,但通過它的控制器和動作,你需要經過去這一觀點。

+0

不,但是,它去'../關於/食物/索引'而不是'../ Food/index2' – 2013-02-21 19:53:25

+1

你有一個FoodController嗎?我的歉意,這是我的頭頂,拉起我的mvc項目來驗證編輯。 – hometoast 2013-02-21 19:56:39

+0

是的,我有一個食物控制器。 – 2013-02-21 20:01:21

3

「的ActionLink的助手呼籲控制器行動,而不是一個靜態的URL

@HTML.ActionLink("linktext", "ControllerName") 

與食物位指示的索引操作相關的Index2.cshtml?如果是的話,你可以這樣做:

@Html.ActionLink("Linktext", "Index2", "Food", null, null) 

上面的第三個參數是相關操作的控制器的名稱。

如果index.cshtml也與食品相關的控制器不需要指定控制器名稱:

@Html.ActionLink("Linktext", "Index2")