2012-04-26 67 views
2

在部分頁面(菜單),我有這樣的:無法讀取隱藏字段

@foreach (var category in db.Query("SELECT categoryName FROM Category")) { 
    <li><a href="#">@category.categoryName</a> 
     <ul class="submenu"> 
      <form action="/Products/[email protected]" method="post"> 
       <input type="hidden"> 
        @Html.Hidden("cat", category.categoryName) 
       </input> 
      </form> 
     </ul> 
    </li> 
} 

在頁面我重定向到,我有這樣的:

if (IsPost) { 
    if (Request["cat"] != null) { 
     <p>The category is @Request["cat"]!</p> 
    } 
} 

它重定向罰款,但我無法讓它將'cat'變量傳遞給我重定向到的頁面。通常,當我成功使用重定向時,我使用input type =「submit」。這裏的區別是這些超鏈接,這無疑是原因。我寧願保留超鏈接。

任何幫助表示讚賞。

回答

1

爲了在表單標籤中提交值,您必須提交表單。您沒有任何代碼來提交表單。

正如您所提到的那樣,通常通過input type="submit"來實現提交表單,但也可以使用其他技術(例如,使用JavaScript提交表單)。

在你的情況我不知道,如果你真的要執行POST

那麼這種方法呢?

@foreach (var category in db.Query("SELECT categoryName FROM Category")) { 
    <li> 
     <a href="/Products/[email protected]&[email protected]"> 
      @category.categoryName 
     </a> 
    </li> 
} 
+0

作品確實非常好!非常感謝你的幫助! – tpn 2012-04-26 11:12:03