如何为我的@viewbag传递默认值?

时间:2015-04-15 15:36:16

标签: html asp.net-mvc razor

我有一个输入文本框

<input class="foo" id="NUM" type="text" value=@ViewBag.Quantity  name="Quan" />

当用户窗体加载时,我希望将其设置为默认值。

我认为我需要在控制器中放一些东西......

2 个答案:

答案 0 :(得分:2)

您可以通过检查ViewBag是否为null设置某个值来设置默认值:

<input class="foo" id="NUM" type="text" value='@(ViewBag.Quantity == null ? 0 : ViewBag.Quantity)'  name="Quan" />

并且您当前的html无效可能会导致问题,您缺少value属性的引号:

<input class="foo" id="NUM" type="text" value="@ViewBag.Quantity"  name="Quan" />

答案 1 :(得分:0)

是的,您的控制器名称是什么? 我想你有一个名为&#34; ProductsController&#34;显示你的观点调用行动&#34; AddProduct&#34;如下例所示:

class ProductsController : Controller {
    public ActionResult AddProduct() {
        ViewBag.Quantity = 0; // Set default quantity.
        return View();
    }
}

您只需在控制器的操作中设置ViewBag.Quantity值。