我在视图底部'取消'和'下一步'。 'Next'将详细信息发回给控制器。但我希望“取消”,不是作为按钮,而是作为纯文本返回上一页。
<li class="align left"><a href="#">@T("Cancel")</a></li>
<li class="align right"><button type="submit">@T("Next")</button></li>
我可以从视图中做到吗?或者我是否必须将其更改为按钮并回发,然后使用帖子返回来从控制器导航?
我尝试将#URL添加到href标签。但是这会将URL添加到现有URL而不是新URL
<li class="align left"><a href="#http://URL/">@T("Cancel")</a></li>
答案 0 :(得分: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()
功能是什么,但没关系)
或者,您可以根据操作名称动态生成正确的URL,而不是指定硬编码的网址(感谢encodebiz提醒):
<a href="@(Url.Action("ActionName"))">@T("Cancel")</a>
或者对不同的控制器使用操作:
<a href="@(Url.Action("ActionName", "ControllerName"))">@T("Cancel")</a>
答案 1 :(得分:0)
您可以这样做,只需将href
标记的a
设置为上一页。更好的是,使用ActionLink
:
<li class="align left">
@Html.ActionLink(T("Cancel"), "PreviousAction")
</li>