Я Jqgrid, который отображает данные студентов, я не хочу использовать кнопки панели инструментов Jgrid для редактирования или удаления.Добавить Html.ActionLink в каждой строке в Jqgrid
поэтому я хочу дополнительный столбец, что есть что-то вроде этого
@Html.ActionLink("Edit", "Edit", new { id=item.StudentID }) |
@Html.ActionLink("Details", "Details", new { id=item.StudentID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.StudentID })
здесь мой StudentGridModel:
public class StudentsGridModel
{
public StudentsGridModel()
{
StudentsGrid = new JQGrid
{
Columns = new List<JQGridColumn>()
{
new JQGridColumn { DataField = "StudentID",
PrimaryKey = true,
Editable = false,
HeaderText = "ID",
TextAlign = Jq.Grid.TextAlign.Center,
Width = 50},
new JQGridColumn { DataField = "FullName",
Editable = true,
HeaderText = "Full Name",
Width = 175
},
new JQGridColumn { DataField = "BirthDate",
Editable = true,
HeaderText = "Birth Date",
Width = 125 },
new JQGridColumn { DataField = "Photo",
Editable = true,
HeaderText = "Photo",
Width = 175
},
new JQGridColumn { DataField = "Gender",
Editable = true,
HeaderText = "Gender",
Width = 100
},
new JQGridColumn { DataField = "Country",
Editable = true,
HeaderText = "Country",
Width = 100
},
new JQGridColumn { DataField = "MobileNumber",
Editable = true,
HeaderText = "Mobile Number",
Width = 100
},
new JQGridColumn { DataField = "Email",
Editable = true,
HeaderText = "Email",
Width = 100
}
},
Height = Unit.Percentage(100),
Width = Unit.Percentage(100)
};
StudentsGrid.ToolBarSettings.ShowRefreshButton = true;
}
public JQGrid StudentsGrid { get; set; }
}
Контролер Учитель:
// GET: Teacher
public ActionResult Index()
{
var gridModel = new StudentsGridModel();
var grid = gridModel.StudentsGrid;
SetUpGrid(grid);
return View(gridModel);
}
private void SetUpGrid(JQGrid grid)
{
grid.ID = "StudentsGrid";
grid.DataUrl = Url.Action("DataRequested");
grid.SortSettings.AutoSortByPrimaryKey = false;
grid.SortSettings.InitialSortColumn = "FullName";
grid.SortSettings.InitialSortDirection = SortDirection.Asc;
grid.ToolBarSettings.ShowEditButton = false;
grid.ToolBarSettings.ShowAddButton = false;
grid.ToolBarSettings.ShowDeleteButton = true;
SetUpVirtualScrollingGrid(grid);
}
private void SetUpVirtualScrollingGrid(JQGrid grid)
{
grid.PagerSettings.ScrollBarPaging = true;
grid.PagerSettings.PageSize = 20;
grid.Height = System.Web.UI.WebControls.Unit.Pixel(400);
}
public JsonResult DataRequested()
{
StudentsGridModel gridModel = new StudentsGridModel();
var data = from s in db.Students
select new
{
s.StudentID,
s.FullName,
s.BirthDate,
s.Photo,
s.Gender,
s.Country,
s.MobileNumber,
s.Email
};
return gridModel.StudentsGrid.DataBind(data);
}
Один из способов - это просто создать ваш href как строку в вашей модели. –
Ну, я не могу просто сохранить его как поле данных, потому что он возвращает ссылку на объект, не установленную на экземпляр объекта. – user1493376
Что это значит? Похоже, теперь это обычное исключение для базовой ссылки. –