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 上,而不是新的 URL

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

2 回答 2

2

使用 Html 助手

我想你只是想用一个ActionLink......

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

如果您需要 Action 的任何参数,请改用此重载:

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

请注意,该重载中的最后一个参数(我设置为null)可用于为生成的<a>标签设置 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()功能是什么,但没关系)

或者,您可以根据 Action 名称动态生成正确的 URL,而不是指定硬编码的 URL(感谢 codingbiz 的提醒):

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

或者对不同的控制器使用一个动作:

<a href="@(Url.Action("ActionName", "ControllerName"))">@T("Cancel")</a>
于 2013-08-20T15:40:42.350 回答
0

您可以这样做,只需将href标签设置a为上一页。更好的是,使用ActionLink

<li class="align left">
    @Html.ActionLink(T("Cancel"), "PreviousAction")
</li>
于 2013-08-20T15:41:12.587 回答