0

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

@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 中的值。

如何解决?

4

1 回答 1

3

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

for的IDictionary集合参数BeginForm是 for htmlAttributes。检查您的 HTML 代码,您可能会在名为Sku. 这些属性不会发布到服务器。

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

@Html.Hidden("Sku", @ViewBag.SkuCategory);
于 2012-05-11T15:42:21.770 回答