2009-08-04 71 views
2

我正在寫一個ASP.NET MVC應用程序,其中,由於各種原因,通過HTML輸入按鈕處理導航。如何處理這種情況的最佳做法是什麼?在ASP.NET MVC中使用按鈕處理頁面操縱的正確方法?

  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點

回答

2
  1. Javascript可能是你最好的選擇。

使用迷你表格看起來確實很沉重。你基本上是想用一個按鈕作爲鏈接(我會認真考慮你爲什麼打破了這個非常基本的網頁約定:按鈕發佈/修改和鏈接導航),所以更基本的你可以使它更好。

+0

我同意「突破網絡約定」位,但是......如果沒有javascript,會發生什麼?這些日子完全取決於網站和目標受衆,但這仍然是一個問題。剝奪用戶一些額外的浮華物品是一回事,但剝奪用戶的導航能力完全不同。 – 2009-08-05 08:00:16

1

3:樣式一些錨標籤看起來像按鈕。

在我們實施選項1.客戶喜歡有「取消」在所有形式的按鈕(...)最近的應用程序,所以我們只是停留在其上做了復位輸入的單擊事件:

history.go(-1); return false; 
+0

是,即使可能嗎?通常,按鈕呈現爲與操作系統上的本地按鈕相似... – 2009-08-04 19:41:21

+0

如果您保留默認按鈕樣式,則可能會出現問題,但我傾向於執行一些自定義樣式。 – Joel 2009-08-04 19:42:59

3

Here你可以找到關於如何風格錨標籤就像一個按鈕

+1

良好的聯繫。也很好地解釋了爲什麼要避免默認的按鈕樣式。 – Joel 2009-08-04 19:51:58

0

使用空<a href="#">標記和Javascript/jQuery的一個相當不錯的文章。例如:

在View:

<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); 
}); 
相關問題