2012-04-26 47 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