2013-03-01 66 views
2

我剛剛開始使用MVC,我需要一個div來成爲另一個頁面的鏈接。每當我使用帶有href的標籤進行鏈接時,我會在'/'應用程序消息中得到一個服務器錯誤。但是當我使用Html.ActionLink將一段文本製作成鏈接時,它完美地工作。<a>當Html.ActionLink是標籤不工作?

這裏是我的,不希望工作在div鏈接代碼:

<a href="../Home/Page1"> <div class = "col1"> Function 1 </div> </a> 

請幫幫忙!記住我假設Page1是一個行動

<a href="/Home/Page1"> 

BEAR:

+0

我現在已經注意到,這個錯誤發生在我嘗試創建的任何新視圖中,任何排序的鏈接唯一的作用是當我調用About和Home頁面時,它們是在Visual Studio中默認創建的。 – 2013-03-02 16:17:51

回答

2

我覺得你可以使用Url.action的地址

<a href="@Url.Action("Page1", "Home")"><div class = "col1"> Function 1 </div></a> 
+0

是的。總是儘量避免硬編碼鏈接。 'Url.Action'和'Url.RouteUrl'都可以用作標準錨標籤的href。 'Url.RouteUrl'就像'Url.Action'一樣工作,只使用路由名稱而不是Action/Controller。 – 2013-03-01 19:26:06

+0

仍然有相同的錯誤,Page1是一個視圖,Page1.cshtml,所以不知道這是否改變了什麼? – 2013-03-02 11:00:48

1

的問題是路徑,改變這種:

<a href="../Home/Page1"> 

了這一點。

+0

仍然有相同的錯誤,Page1是一個視圖,Page1.cshtml – 2013-03-02 10:59:46

0

解決它!事實證明,我並沒有遵循MVC的命名慣例,「Page1」應該被稱爲「索引」,所以無論何時我試圖打電話給該頁面,系統都會有一個小的心臟病發作。至於Url.Action()方法,這實際上解決了我首先想要解決的實際問題,所以謝謝!