【问题标题】:Back button or Navigate To Specific View(Page) -ASP.NET MVC3后退按钮或导航到特定视图(页面)-ASP.NET MVC3
【发布时间】:2011-12-20 03:47:46
【问题描述】:

我正在为我的 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 中放置一个按钮,该按钮采用 View Name 并且可以

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

以上任何一项都适合我的申请。

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

谢谢

【问题讨论】:

标签: asp.net-mvc-3


【解决方案1】:

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

想要一个按钮,看这里:Html.ActionLink as a button or an image, not a link

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

【讨论】:

  • Request.UrlReferrer 太棒了!
【解决方案2】:

这是我不久前实现的,与您的场景不同,但肯定可以帮助您前进:

我的 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 后订阅事件。

【讨论】:

    【解决方案3】:

    你可以像这样添加链接。

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

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

    【讨论】:

    • 我希望它是一个按钮,因为我已经在使用按钮进行提交和取消。所以我想要一个按钮而不是超链接。
    • 所以在这种情况下添加一个按钮并在按钮上单击触发一个 jquery,它将调用所需的操作方法或直接重定向到所需的路径
    【解决方案4】:

    如果您需要为链接添加一些样式(例如添加图片),您可以试试这个:

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

    你可以把图片放在链接标签之间。希望这就是你的意思:)

    【讨论】:

    • 我希望它是一个按钮,因为我已经在使用按钮进行提交和取消。所以我想要一个按钮而不是
    猜你喜欢
    • 1970-01-01
    • 2013-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多