Please help me ASP.Net MVC add item to store in controller
I have DirectEvent
Code:
public ActionResult AddItemToDetails(long lookupItemId, String viewBagID, int posLinesCount)
{
var itemRepository = new ItemRepository();
var item = itemRepository.Get(c => c.Id == lookupItemId, new []{ "BaseUom" }).SingleOrDefault();
Store posLineStore = X.GetCmp<Store>("posLineStore" + viewBagID);
int lineNo = posLinesCount <= 0 ? 1 : posLinesCount + 1;
var newItem = new PosLineEditViewModel() { ItemId = item.Id, Description = item.Description, LineNo = lineNo, Quantity = 1, UnitPrice = 1, Amount = 1, UomId = item.BaseUomId, UomDescription = item.BaseUom.Description, Id = 2};
posLineStore.Add(newItem);
return this.Direct();
}
Here is my error
Quote:
Uncaught TypeError: Cannot read property 'add' of undefined
at eval (eval at executeScriptDelay ...
Thanks you for support me. Here is my Example
Thanks you for support me. Here is my Example
Index.cshtml
Code:
@using Ext.Net;
@using Ext.Net.MVC;
@model ExtNet_Example1.Models.ExtNetModel
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<title>Ext.NET MVC Sample</title>
<link type="text/css" rel="stylesheet" href="http://speed.ext.net/www/intro/css/main.css" />
</head>
<body>
@(Html.X().ResourceManager())
@( Html.X().Viewport()
.Layout(LayoutType.Fit)
.Items(
Html.X().TabPanel()
.ID("POSTabs")
.MinTabWidth(115)
.TabBar(components =>
{
components.Add(Html.X().Button().Flat(true).Icon(Icon.Add).DirectEvents(de =>
{
de.Click.Url = Url.Action("AddTab");
de.Click.ExtraParams.Add(new { containerId = "POSTabs" });
de.Click.EventMask.ShowMask = true;
}));
})
)
)
</body>
</html>
TabPartialView.cshtml
Code:
@using Action = System.Action
@model ExtNet_Example1.Models.ExtNetModel
@{
Layout = null;
String posPanelId = "POSPanel" + ViewBag.ID;
String addItemButtonId = "AddItemButton" + ViewBag.ID;
String posLineGridPanel = "PosLineGridPanel" + ViewBag.ID;
String posLineStore = "PosLineStore" + ViewBag.ID;
}
@(Html.X().Panel()
.Closable(true)
.Layout(LayoutType.Border)
.Title("POS - " + DateTime.Now.ToLongTimeString())
.ID(posPanelId)
.Tag(ViewBag.ID)
.Items(
Html.X().Panel()
.Header(false)
.Region(Region.North)
.Border(false)
.Layout(LayoutType.HBox)
.BodyPadding(5)
.Defaults(Html.X().Parameter().Name("margin").Value("0 5 0 0").Mode(ParameterMode.Value))
.LayoutConfig(new HBoxLayoutConfig { Align = HBoxAlign.Top })
.Items(
Html.X().Button().ID(addItemButtonId).Icon(Icon.ArrowDown).DirectEvents(de =>
{
de.Click.Action = "AddToDetails";
de.Click.ExtraParams.Add(new Parameter("lookupItemId", "TEST", ParameterMode.Value));
de.Click.ExtraParams.Add(new Parameter("viewBagID", ViewBag.ID));
})
),
Html.X().GridPanel()
.ID(posLineGridPanel)
.Tag(ViewBag.ID)
.Region(Region.Center)
.SortableColumns(false)
.Store(Html.X().Store()
.ID(posLineStore)
.Model(Html.X().Model()
.Fields(
new ModelField("Title", ModelFieldType.String)
)
)
)
.ColumnModel(
Html.X().RowNumbererColumn(),
Html.X().Column().Text("Title").DataIndex("Title").MinWidth(300)
)
.View(Html.X().GridView().StripeRows(true))
.SelectionModel(
Html.X().CellSelectionModel()
)
)
)
ExtNetController
Code:
public class ExtNetController : Controller
{
public ActionResult Index()
{
return this.View();
}
public ActionResult AddTab(string containerId)
{
var model = new ExtNetModel();
var result = new Ext.Net.MVC.PartialViewResult
{
ViewName = "TabPartialView",
ContainerId = containerId,
RenderMode = RenderMode.AddTo,
ViewData = ViewData,
Model = model
};
this.GetCmp<TabPanel>("POSTabs").SetLastTabAsActive();
result.ViewBag.ID = DateTime.Now.Ticks.ToString();
return result;
}
public ActionResult AddToDetails(string lookupItemId, String viewBagID)
{
var newItem = new ExtNetModel()
{
Title = lookupItemId
};
Store posLineStoreID = X.GetCmp<Store>("posLineStore" + viewBagID);
posLineStoreID.Add(newItem); //<---- error here
return this.Direct();
}
}
Here is error