2011-11-11 86 views
8

嗨我有困難使用Url.Action方法,請看我的代碼如下,我做錯了什麼....? (我使用MVC剃刀)MVC&Url.Action

<a href='<%: @Url.Action("Edit", "Student", 
    new { id = item.DealPostID }) %>'>Hello   </a> 

Student是我StudentControllerEditActionResult方法。

+0

您可以更明確地瞭解您遇到的困難嗎?該頁面是否顯示錯誤? href是否按照您期望的方式填充? – mjwills

+0

對不起,點擊Hello鏈接時,它不會去任何地方,href不起作用。我試圖做類似於@ Html.ActionLink(「編輯」,「編輯」,新{id = item.DealPostID})..只是使用Url.Action,所以我可以稍後把圖像,而不是hello文本..我希望這是有道理的,我想做什麼..謝謝 – Ben

回答

18

從剃刀視圖中刪除<%: %>。這些是WebForms標籤。

<a href='@Url.Action("Edit", "Student", 
    new { id = item.DealPostID })'>Hello   </a> 
+1

真棒,工作。你可以解釋我什麼時候應該使用<%: %>以及什麼時候不使用? – Ben

+3

它與您正在使用的視圖引擎有關。 <%:語法用於WebForms視圖引擎,並且您正在使用Razor視圖引擎,它具有不同的內聯代碼語法。所以如果你有一個Razor MVC項目,你永遠不會使用這種語法。 –

+0

謝謝你的解釋。 – Ben

5

嘗試這種情況:

@Html.ActionLink("Hello", "Edit", "Student", new { id = item.DealPostID }, null) 
  • 參數1:鏈接文本
  • 參數2:操作名稱
  • 參數3:控制器名稱
  • 參數4:路由值
  • 參數5 :HtmlAttributes。這被設置爲null,以便它不會將「?Length =」附加到您的URL。

這應該適合你。

+0

如果您打算爲此鏈接使用圖片,請創建CSS類,以設置元素的背景圖像,然後替代HtmlAttributes的「null」參數,使用「新{@class =」your_css_class「}。 –

+0

我appologies,我應該早些時候提到,我想把一個圖像,而不是鏈接,這就是爲什麼我想要使用Url.Action方法。要做到這一點: Ben

+0

沒問題,但根據我上面的評論,我發現最簡單的方法是創建一個設置背景圖像的CSS類,然後將該CSS類應用到此鏈接。那就是希望在幫助! –