C# 使用ASP.NET MVC中的按钮处理页面移动的正确方法?

C# 使用ASP.NET MVC中的按钮处理页面移动的正确方法?,c#,asp.net-mvc,navigation,C#,Asp.net Mvc,Navigation,我正在用ASP.NETMVC编写一个应用程序,由于各种原因,导航是通过HTML输入按钮处理的。如何处理这种情况的最佳做法是什么 在需要发布信息的按钮上设置表单,在不需要保留信息的按钮上使用JavaScript重定向即可 <% using (Html.BeginForm()) { %> <input type="hidden" name="controller" value="1" /> <input type="hidden" name="action" va

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

  • 在需要发布信息的按钮上设置表单,在不需要保留信息的按钮上使用JavaScript重定向即可

  • <% 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" />
    <% } %>
    
  • 通过表单处理所有按钮,直到小表单处理不需要保留信息的按钮上的导航

    <% 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:设置一些锚定标记的样式,使其看起来像按钮

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

    history.go(-1); return false;
    
  • Javascript可能是您最好的选择 使用迷你表单似乎真的很费力。你基本上是想用一个按钮作为链接(我会认真研究你为什么要打破这个非常基本的网络惯例:按钮发布/修改和链接导航)所以越基本越好。

    你可以找到一篇很好的文章,介绍如何像按钮一样设计锚定标记的样式

    使用空的
    标记和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>
    

    这可能吗?通常,按钮在操作系统上呈现为本机按钮…如果保留默认按钮样式,可能会有问题,但我倾向于做一些自定义样式。很好的链接。也很好地解释了为什么要避免默认的按钮样式。我同意“打破网络惯例”的说法,但是。。。。。。如果没有javascript会发生什么?如今,这完全取决于网站和目标受众,但这仍然是一个问题。剥夺用户一些额外的华而不实的东西是一回事,但剥夺用户的导航能力则完全不同。