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

6

我正在使用ASP.NET MVC3开发我的Web应用程序。为了在用户界面中显示一个按钮,我在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中放置一个按钮,该按钮需要获取视图名称并且能够:

  • 转到特定的视图(或)
  • 返回到上一个视图。

以上任何一个要求都可以满足我的应用程序。

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

谢谢


可能是ActionLink返回按钮的重复问题。 - rogerdeuce
4个回答

6
如果您想将用户发送回他们之前的页面,您可以在控制器中始终使用 Request.UrlReferrer,但要注意他们很容易伪造它。另一种方法是将上一个位置存储在用户的会话中,然后您可以检索它并将其连接到视图中的按钮。
至于想要一个按钮,可以看看这里:Html.ActionLink作为按钮或图像,而不是链接 请注意,是否真的有必要添加返回按钮?大多数浏览器都内置了它们;-)

3
Request.UrlReferrer 精彩! - Davy8

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助手方法代码:

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

1

你可以像这样添加链接。

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

这里的索引是动作名称,将发送到特定页面。如果对您有用,请回复我,否则我会给您发送不同的方法。


我希望它是一个按钮,因为我已经在使用提交和取消按钮。所以我想要一个按钮而不是超链接。 - Hari Gillala
在这种情况下,添加一个按钮,并在按钮点击时触发一个jQuery,该jQuery将调用所需的操作方法或直接重定向到所需的路径。 - user1006544

1
如果您需要对链接进行样式设置(例如添加图像),可以尝试以下方法:
 <a id="button" href="@Url.Action("Index", "Food")"></a>

你可以将图片放在链接标签之间。希望这就是你想要的 :)


我希望它成为一个按钮,因为我已经在使用提交和取消按钮。所以我想要一个按钮而不是... - Hari Gillala

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接