使用ASP.NET MVC中的按钮处理页面操纵的正确方法?

时间:2009-08-04 19:36:29

标签: c# asp.net-mvc navigation

我正在使用ASP.NET MVC编写应用程序,由于各种原因,导航是通过HTML输入按钮处理的。如何处理这种情况的最佳做法是什么?

  1. 在需要发布信息的按钮上设置一个表单,只需使用JavaScript重定向不需要保留信息的按钮

  2. 通过表单处理所有按钮,以便迷你表单处理不需要保留信息的按钮上的导航

    <% using (Html.BeginForm())
       { %>
    <input type="hidden" name="controller" value="1" />
    <input type="hidden" name="action" value="Location" />
    <input id="BackButton" type="submit" value="Go Back" />
    <% } %>
    
  3. 我在这里没有想到的东西

4 个答案:

答案 0 :(得分:3)

Here你可以找到一篇关于如何设置像锚按钮

这样的锚标签的文章

答案 1 :(得分:2)

  1. Javascript可能是你最好的选择。
  2. 使用迷你表格似乎非常沉重。你基本上都希望使用一个按钮作为链接(我会认真考虑你为什么打破这个非常基本的网络约定:按钮发布/修改和链接导航)所以你可以做得越多越好。

答案 2 :(得分:1)

3:将一些锚标签设置为看起来像按钮。

在最近的一个应用程序中,我们实现了选项1.客户端喜欢在所有表单上都有“取消”按钮(...)所以我们只是在重置输入上粘贴了一个点击事件:

history.go(-1); return false;

答案 3 :(得分:0)

使用空<a href="#">标记和Javascript / jQuery。例如:

在视图中:

<script src="<%= Url.Content("~/Content/navigation.js") %>" type="text/javascript"></script>
...
<a id="back" href="#">Back</a>
<a id="next" href="#">Next</a>

<script type='text/javascript'>
    var back_href="<%= Url.Action("...") %>";
    var next_href="<%= Url.Action("...") %>";
</script>

navigation.js中的某个地方:

$(document).ready(function() {
    $('a#back').attr('href', back_href);
    $('a#next').attr('href', next_href);
});