2013-08-20 76 views
1

我在視圖的底部有'取消'和'下一個'。 '下一步'將詳細信息發回給控制器。但我想'取消',不是作爲一個按鈕,而是像純文本一樣返回到上一頁。如何瀏覽錨點?

<li class="align left"><a href="#">@T("Cancel")</a></li> 
<li class="align right"><button type="submit">@T("Next")</button></li> 

我可以從視圖中做到嗎?或者是否必須將其更改爲按鈕並回傳,然後使用回傳來從控制器導航?

Iv試圖將#URL添加到href標記。但是這會增加URL到現有的,而不是新的URL

<li class="align left"><a href="#http://URL/">@T("Cancel")</a></li> 
+0

嘗試''@T("Cancel") codingbiz

回答

2

隨着HTML輔助

我認爲你只是想用一個ActionLink ...

@Html.ActionLink("text for link", "ActionName", "ControllerName") 

如果您需要任何然後使用此過載的參數:

@Html.ActionLink("text for link", "ActionName", "ControllerName", new { @p1 = 1, @p2 = 2 }, null) 

請注意,該超載中的最終參數(我將其設置爲null)可用於爲生成的標記設置html屬性。例如:

@Html.ActionLink("text for link", "ActionName", "ControllerName", new { @p1 = 1, @p2 = 2 }, new { @class = "MyClass" }) 

隨着純HTML

您嘗試使用純HTML也應該工作,爲您提供從href值開始刪除#

<a href="http://URL/">@T("Cancel")</a> 

(不太確定你的T()功能是什麼,但沒關係)

或者,而不是指定一個硬編碼的網址,您可以動態地生成基於操作名稱正確的URL(感謝codingbiz的提醒):

<a href="@(Url.Action("ActionName"))">@T("Cancel")</a> 

或使用動作的不同控制器:

<a href="@(Url.Action("ActionName", "ControllerName"))">@T("Cancel")</a> 
+0

感謝您詳細的答覆,但跟它ystem.web.mvc.htmlhelper 不包含界定及對.ActionLink – John

+0

@約翰:我還沒有看到那之前。你使用的是什麼版本的MVC? – musefan

+0

啊是的,謝謝你musefan ....刪除'#'修復它。 @T是用於多種語言的 - 它的果園cms的一部分 – John

0

你能做到這一點,只需設置a標籤的href是前一頁。更妙的是,使用ActionLink

<li class="align left"> 
    @Html.ActionLink(T("Cancel"), "PreviousAction") 
</li> 
+0

感謝您的答覆,但它告訴我system.web.mvc。 htmlhelper 不包含.ActionLink的定義 – John