Asp.net mvc jqgrid上的自定义按钮在每次调用时不断重新添加-asp mvc
在我的asp mvc模型中,我在jqgrid的工具栏中添加了一个自定义按钮,但是每次从视图调用controllerOnDataRequested获取数据时,都会再次添加该按钮。也就是说,如果调用五次来获取数据,就会在jqgrid上产生五个单独的按钮。我做错了什么 这是我的密码。谢谢Asp.net mvc jqgrid上的自定义按钮在每次调用时不断重新添加-asp mvc,asp.net-mvc,asp.net-mvc-3,jquery-ui,jqgrid,Asp.net Mvc,Asp.net Mvc 3,Jquery Ui,Jqgrid,在我的asp mvc模型中,我在jqgrid的工具栏中添加了一个自定义按钮,但是每次从视图调用controllerOnDataRequested获取数据时,都会再次添加该按钮。也就是说,如果调用五次来获取数据,就会在jqgrid上产生五个单独的按钮。我做错了什么 这是我的密码。谢谢 public virtual ActionResult Index() { var gridModel = new LibraryGridModel();
public virtual ActionResult Index()
{
var gridModel = new LibraryGridModel();
SetupGrid(gridModel.LibraryGrid);
return View(gridModel);
}
public virtual JsonResult OnDataRequested()
{
var gridModel = new LibraryGridModel();
return gridModel.LibraryGrid.DataBind(GetFullLibrary().AsQueryable());
}
public void SetupGrid(JQGrid grid)
{
grid.DataUrl = Url.Action("OnDataRequested","Library");
grid.MultiSelect = true;
grid.MultiSelectMode = MultiSelectMode.SelectOnCheckBoxClickOnly;
}
Grid Grid=new{Toolbar Settings={ShowRefreshButton=true,ShowSearchButton=true,ShowSearchToolBar=true,
ToolBarAlign=ToolBarAlign.左侧,CustomButtons=新列表
{
新建JQGridToolBar按钮
{
Text=添加到库中,
ToolTip=将所选会话添加到我的会话,
ButtonIcon=ui图标加图标,
位置=工具栏按钮位置。最后,
OnClick=AddMultipleSessionsToLibrary,
}
}},
我正在LibraryGrid类中添加自定义按钮。感谢您的帮助。首先,从GridModel中删除自定义按钮。然后,仅将其添加到索引操作调用中。 型号: 控制器:
public virtual ActionResult Index()
{
var gridModel = new LibraryGridModel();
gridModel.ToolBarSettings.CustomButtons.Add(
new JQGridToolBarButton
{
Text = "Add to Library",
ToolTip = "Add the selected session to mine",
ButtonIcon = "ui-icon-plusthick",
Position = ToolBarButtonPosition.Last,
OnClick = "AddMultipleSessionsToLibrary"
}
);
SetupGrid(gridModel.LibraryGrid);
return View(gridModel);
}
public virtual JsonResult OnDataRequested()
{
var gridModel = new LibraryGridModel();
return gridModel.LibraryGrid.DataBind(GetFullLibrary().AsQueryable());
}
public void SetupGrid(JQGrid grid)
{
grid.DataUrl = Url.Action("OnDataRequested","Library");
grid.MultiSelect = true;
grid.MultiSelectMode = MultiSelectMode.SelectOnCheckBoxClickOnly;
}
onDataRequested被网格用来请求额外的数据,例如当用户转到网格上的新页面时,调用必须在那里。我如何将模型的引用传递给onDataRequested,正如我前面所说的,它是jqgrid直接调用的。如果我没有抓住要点,请解释更多。谢谢。你能发布这个消息吗e LibraryGridModel?模型已发布。我尝试按照建议将模型传递给OnDataRequested,但没有成功。ThxOK,我已更新了我的答案。您需要从Viewmodel中删除“添加”按钮。然后将其添加到索引操作方法中。同样的问题仍在发生……有什么想法吗?
public virtual ActionResult Index()
{
var gridModel = new LibraryGridModel();
gridModel.ToolBarSettings.CustomButtons.Add(
new JQGridToolBarButton
{
Text = "Add to Library",
ToolTip = "Add the selected session to mine",
ButtonIcon = "ui-icon-plusthick",
Position = ToolBarButtonPosition.Last,
OnClick = "AddMultipleSessionsToLibrary"
}
);
SetupGrid(gridModel.LibraryGrid);
return View(gridModel);
}
public virtual JsonResult OnDataRequested()
{
var gridModel = new LibraryGridModel();
return gridModel.LibraryGrid.DataBind(GetFullLibrary().AsQueryable());
}
public void SetupGrid(JQGrid grid)
{
grid.DataUrl = Url.Action("OnDataRequested","Library");
grid.MultiSelect = true;
grid.MultiSelectMode = MultiSelectMode.SelectOnCheckBoxClickOnly;
}