C# 淘汰和初始化EWBAG方法(MVC)
VisualStudio不理解下面示例中的方法InitializeViewBag(“简单列表”)。 它是如何制作的?这个方法存在吗 为什么在本例中使用它: 型号C# 淘汰和初始化EWBAG方法(MVC),c#,asp.net-mvc,asp.net-mvc-4,razor,knockout.js,C#,Asp.net Mvc,Asp.net Mvc 4,Razor,Knockout.js,VisualStudio不理解下面示例中的方法InitializeViewBag(“简单列表”)。 它是如何制作的?这个方法存在吗 为什么在本例中使用它: 型号 public class SimpleListModel { public string ItemToAdd { get; set; } public List<string> Items { get; set; } public void AddItem() { Items
public class SimpleListModel
{
public string ItemToAdd { get; set; }
public List<string> Items { get; set; }
public void AddItem()
{
Items.Add(ItemToAdd);
ItemToAdd = "";
}
}
公共类SimpleListModel
{
公共字符串ItemToAdd{get;set;}
公共列表项{get;set;}
公共无效附加项()
{
项目。添加(项目添加);
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);
}
}
@使用PerpetuumSoft.Knockout
@模型敲除MVCDEMO.Models.SimpleListModel
@{
var ko=Html.CreateKnockoutContext();
}
@使用(ko.Html.Form(“AddItem”,“SimpleList”,null,new{id=“myform”}))
{
新项目:
@TextBox(m=>m.ItemToAdd).ValueUpdate(KnockoutValueUpdateKind.afterkeydown)
m、 项目添加长度>
}
控制器
@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);
}
}
公共类SimpleListController:BaseController
{
公共行动结果索引()
{
初始化eviewbag(“简单列表”);
var模型=新的SimpleListModel{Items=新列表{“Alpha”、“Beta”、“Gamma”};
返回视图(模型);
}
公共行动结果附加项(SimpleListModel模型)
{
model.AddItem();
返回Json(模型);
}
}
查看github中的for BaseController,我可以看到InitializeViewBag方法是在那里定义的。这就是SimpleListController访问它的方式。如果您有相同的BaseController实现,并且该方法仍然未被识别,我会认为这是一件令人讨厌的事情,比如这里或那里有一个额外的括号,或者在其他地方有一个重复的BaseController。您的意思是“Visual studio不理解方法InitializeViewBag(“简单列表”)?你会犯错误吗?可能您没有添加对所需库的引用?错误:InitializeViewBag不存在