使用HTML.Begin将ViewPag值从Razor View传递给Controller

时间:2012-05-11 15:39:14

标签: asp.net-mvc asp.net-mvc-3 razor viewbag

如何通过HTML.BeginForm()将ViewBag中的值传递给控制器​​?

@using (Html.BeginForm("SaveServiceItemCategory", "Admin", 
                       FormMethod.Post, new { Sku = @ViewBag.SkuCategory  }))
{
    <span>Service Item Sku : @ViewBag.SkuCategory</span>
}

控制器

public ActionResult SaveServiceItemCategory(FormCollection formCollection, 
                                            string Sku)
{}

我将Sku视为null,而不是ViewBag中的值。

如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

没有BeginForm的变体接受要发布的值。

IDictionary的{​​{1}}收集参数适用于BeginForm。检查您的HTML代码,您可能会在名为htmlAttributes的表单上看到一个属性。这些属性不会发布到服务器。

您需要创建一个表单元素来包含要发布的数据。

Sku