Visual Studio从下面的示例中不了解方法InitializeViewBag(“简单列表”)。 它是如何制作的?这种方法存在吗?
为什么在此示例中使用它:Example
模型
public class SimpleListModel
{
public string ItemToAdd { get; set; }
public List<string> Items { get; set; }
public void AddItem()
{
Items.Add(ItemToAdd);
ItemToAdd = "";
}
}
剃刀
@using PerpetuumSoft.Knockout
@model KnockoutMvcDemo.Models.SimpleListModel
@{
var ko = Html.CreateKnockoutContext();
}
@using (ko.Html.Form("AddItem", "SimpleList", null, new { id = "myform" }))
{
<span>New item:</span>
@ko.Html.TextBox(m => m.ItemToAdd).ValueUpdate(KnockoutValueUpdateKind.AfterKeyDow n)
<button type="submit" @ko.Bind.Enable(m => m.ItemToAdd.Length >
}
控制器
public class SimpleListController : BaseController
{
public ActionResult Index()
{
InitializeViewBag("Simple list");
var model = new SimpleListModel { Items = new List<string> { "Alpha", "Beta", "Gamma" } };
return View(model);
}
public ActionResult AddItem(SimpleListModel model)
{
model.AddItem();
return Json(model);
}
}
答案 0 :(得分:1)
在github中查看BaseController的source code,我可以看到在那里定义了InitializeViewBag方法。这就是SimpleListController可以访问它的方式。如果你有相同的BaseController实现并且该方法仍然无法识别,我会认为这很烦人,就像这里或那里的额外括号,或者其他地方的重复BaseController。