I have a popup grid and I am using a template in Shared/EditorTemplates/_TeamSocial.cshtml.
However when the popup opens the TeamID value @Model.TeamID = 0.
How do I get the ID to pass over correctly?
Grid code:
@(Html.Kendo().Grid<
BusinessApplication.DTO.DTOTeamSocialGrid
>().Name("grid")
.Columns(col =>
{
col.Bound(m => m.SocialCompanyName);
col.Bound(m => m.SocialURL);
col.Bound(m => m.CurrentStatus);
col.Command(command => { command.Edit().HtmlAttributes(new { @class = "btn" }); }).Width(100);
col.Command(command => { command.Destroy().HtmlAttributes(new { @class = "btn" }); }).Width(100);
})
.ToolBar(toolbar => toolbar.Create().Text("Add/Edit social link"))
.Editable(editable => editable.Mode(GridEditMode.PopUp)
.TemplateName("_TeamSocial")
.Window(w => w.Width(600))
.Window(w =>w.Title("Add/Edit social link")))
.Pageable()
.Sortable()
.Scrollable(s => s.Height("auto"))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Events(events => events.Error("error_handler"))
.Model(model => model.Id(m => m.TeamID))
.Create(update => update.Action("TeamSocial_Create", "Team", new { teamID = Model.TeamID }))
.Read(read => read.Action("GetTeamSocialGridItems", "Team", new { teamID = Model.TeamID }))
.Update(update => update.Action("TeamSocial_Update", "Team", new { teamID = Model.TeamID }))
.Destroy(update => update.Action("TeamSocial_Delete", "Team", new { teamID = Model.TeamID }))
)
)
<
script
type
=
"text/javascript"
>
function error_handler(e) {
if (e.errors) {
var message = "Errors:\n";
$.each(e.errors, function (key, value) {
if ('errors' in value) {
$.each(value.errors, function () {
message += this + "\n";
});
}
});
alert(message);
}
}
</
script
>
Template popup code:
@model BusinessApplication.DTO.DTOTeamSocialGrid
<!-- Social URL -->
<
div
class
=
"form-group required col-xs-10 col-xs-offset-1"
>
<
span
class
=
"pull-right"
data-toggle
=
"tooltip"
title
=
"Enter the social website URL including 'http:// and the username'"
data-placement
=
"left"
>
<
i
class
=
"fa fa-question-circle"
></
i
>
</
span
>
<
label
for
=
"SocialURL"
>Social URL</
label
>
<
input
type
=
"text"
class
=
"form-control"
id
=
"SocialURL"
placeholder
=
"Enter the website URL (http://)"
name
=
"SocialURL"
data-fv-notempty
=
"true"
data-fv-notempty-message
=
"The social URL is required and cannot be empty"
data-fv-uri
=
"true"
</
div
>
<
div
class
=
"clearfix"
> </
div
>
<
div
class
=
"form-group col-xs-10 col-xs-offset-1"
>
<
label
class
=
"checkbox"
>
<
input
name
=
"CurrentStatus"
type
=
"checkbox"
id
=
"CurrentStatus"
@if (Model.CurrentStatus == BusinessApplication.Base.PPConstants.CurrentStatus.Active) { @: checked
}> Set LIVE
</
label
>
</
div
>
@Html.Hidden("TeamID", Model.TeamID)
<
div
class
=
"clearfix"
> </
div
>
Thanks
Tom