MVC4 中的 FormCollection 与 Html Actionlink
Posted
技术标签:
【中文标题】MVC4 中的 FormCollection 与 Html Actionlink【英文标题】:FormCollection in MVC4 with Html Actionlink 【发布时间】:2014-05-05 22:25:56 【问题描述】:我在 MVC4 中使用 html ActionLink
。我需要使用formCollection
删除QueryStrings
。如何使用?
这是我的代码:
<div class="mainNav">
<nav>
<ul>
@for (int i = 0; i < Query.Count - 1; i++)
<li>@Html.ActionLink(Query[i].Parent_Menu,"ManageContent","Home", new CmsFid = Query[i].CMSFunction_Id,ParentMenu=Query[i].Parent_Menu ,new @style = "color:#FFF;text-decoration:none" )</li>
@for(int i=Query.Count-1;i<Query.Count;i++)
<li>@Html.ActionLink(Query[i].Parent_Menu,"ManageContent","Home", new CmsFid = Query[i].CMSFunction_Id,ParentMenu=Query[i].Parent_Menu ,new @class="last", @style = "color:#FFF;text-decoration:none" )</li>
</ul>
</nav>
</div>
【问题讨论】:
请您考虑改写或扩展您的问题?目前我不确定你在做什么,你想要什么或者你想要实现什么。试着想象你正在回答这个问题。另请阅读Writing the perfect question。 请您说说您遇到的问题 这里我是从 DataBase 动态绑定菜单。当单击菜单项根据 ID 绑定数据时。截至目前,我正在使用查询字符串参数将 iD 传递给控制器。但现在我想使用 ormcollection 删除查询字符串。 如果您正在生成动态菜单,那么为什么需要Query
参数?如果有帮助,请查看this 答案。
【参考方案1】:
我认为您将无法在您的操作中获取 formCollection 元素(使用 Html.ActionLink)。此外,如果您有能力,您可能需要解析它们或为您的属性类型转换它们。所以我建议你有一个像
这样的动作方法 public ActionResult ManageContent(int CmsFid,string ParentMenu)
您可以将 formCollection 用于可能有很多数据的表单发布
如果它是一个表单帖子,你可以像这样使用
public ActionResult YourPostMethod(FormCollection formData)
int CmsFid=int.Parse(formData["CmsFid"]);
【讨论】:
以上是关于MVC4 中的 FormCollection 与 Html Actionlink的主要内容,如果未能解决你的问题,请参考以下文章