后退按钮或导航到特定视图(页面)-ASP.NET MVC3

时间:2011-11-02 09:32:40

标签: asp.net-mvc-3

我在我的Web应用程序中使用ASP.NET MVC3。要在用户界面中显示按钮,我在View1.cshtml中使用以下html。

   <div class="demo">
                    <input type="submit" value="Save" title="Click here to create a comment" />
                    <input type="button" value="Cancel" onclick="location.href='/'"  title="Click here to cancel and go back to main menu" />
 </div>

我想放置一个按钮,以便用户可以返回上一页。所以要实现这一点,我想在.cshtml中放置一个按钮,该按钮采用视图名称,可以

  • 转移到特定视图。 (或)
  • 转到上一个视图。

上述任何一项要求都适合我的申请。

我该怎么做?任何帮助或想法对我都有用。

谢谢

4 个答案:

答案 0 :(得分:6)

如果您想将用户发送到他们的上一页,您可以随时在控制器中使用Request.UrlReferrer,但请注意,他们可以很容易地欺骗用户。另一种方法是将先前位置存储在用户的会话中,然后您可以检索它并将其连接到视图中的按钮。

至于想要按钮,请看一下:Html.ActionLink as a button or an image, not a link

请注意,是否真的有必要添加后退按钮?大多数浏览器都内置了它们; - )

答案 1 :(得分:3)

以下是我实施的内容,与您的方案不同,但肯定可以帮助您前进:

我的Html标记:

<button id="btnCancel" type="button" class="t-button">Cancel</button>

使用jQuery我可以指定需要去的地方:

<script type="text/javascript">

     $(document).ready(function () {
          $('#btnCancel').click(function () {
               window.location = '@Url.RouteUrl(Url.GrantApplicationIndex())';
          });
     });

</script>

我的GrantApplicationIndex helper method代码:

public static object GrantApplicationIndex(this UrlHelper instance)
{
     Check.Argument.IsNotNull(instance, "instance");

     return new { controller = "GrantApplication", action = "Index" };
}

当呈现页面时,window.location部分将如下所示:

window.location = '/GrantApplication';

永远不要混淆HTML和JavaScript代码,而是在将控件加载到DOM后订阅事件。

答案 2 :(得分:1)

你可以添加这样的链接。

  @Html.ActionLink("Back to List", "Index")

这里索引是将发送到ceartain页面的动作名称 回复我是对你有用的,如果没有,那么我会发给你diff方法。

答案 3 :(得分:1)

如果您需要一些样式(如添加图片)到链接,您可以尝试:

 <a id="button" href="@Url.Action("Index", "Food")"></a>

U可以将图像放在链接标记之间。希望这就是你的意思:))