Hi,
I have an MVC4 application and am trying to use the Listview using the MVC wrappers. I am using an edit and a view template.
If there are 4 items in my list and I add a new one the Create action is called 5 times, thus 5 records get added.
I am using the latest Q2 trial version. However I previously had downloaded the beta trial version which included an MVC example project which showed the exact same behavour. Is this a bug?
(Note the same issue occurs for other actions as well)
View Template
Edit template
I have an MVC4 application and am trying to use the Listview using the MVC wrappers. I am using an edit and a view template.
If there are 4 items in my list and I add a new one the Create action is called 5 times, thus 5 records get added.
I am using the latest Q2 trial version. However I previously had downloaded the beta trial version which included an MVC example project which showed the exact same behavour. Is this a bug?
(Note the same issue occurs for other actions as well)
<
div
class
=
"k-toolbar k-grid-toolbar"
>
<
a
id
=
"addRoleButton"
class
=
"k-button k-button-icontext k-add-button"
href
=
"#"
><
span
class
=
"k-icon k-add"
></
span
>Add new Role</
a
>
</
div
>
@(Html.Kendo().ListView<
iProjX.Models.RoleModel
>(Model.Roles)
.Name("rolesListView")
.TagName("div")
.ClientTemplateId("rolesList")
.Editable()
.Pageable()
.DataSource(dataSource => dataSource
.Model(model =>
{
model.Id("RoleId");
model.Field(f => f.ProjectId).DefaultValue(Model.ProjectId);
model.Field(f => f.Title);
model.Field(f => f.Description);;
})
.Events(e => e
.Error("rolesListViewData_error")
.Change("rolesListViewData_change")
.RequestStart("rolesListViewData_requestStart"))
.Create(create => create.Action("createRole", "Project"))
.Read(read => read.Action("getRoles", "Project", new { projectId = Model.ProjectId }))
.Update(update => update.Action("updateRole", "Project"))
.PageSize(30)
)
.Events(e => e
.Change("rolesListView_change")
.Edit("rolesListView_edit")
.DataBound("rolesListView_databound"))
)
View Template
//View template
<
script
type
=
"text/x-kendo-template"
id
=
"rolesList"
>
<
div
class
=
"roleView"
>
<
div
> ${Title} </
div
>
<
div
> ${Description} </
div
>
<
div
class
=
"edit-buttons"
>
<
a
class
=
"k-button k-button-icontext k-edit-button"
href
=
"\\#"
><
span
class
=
"k-icon k-edit"
></
span
>Edit</
a
>
<
a
class
=
"k-button k-button-icontext k-delete-button"
href
=
"\\#"
><
span
class
=
"k-icon k-delete"
></
span
>Delete</
a
>
</
div
>
</
div
>
</
script
>
Edit template
@model iProjX.Models.RoleModel
<
div
class
=
"roleView"
id
=
"newRoleForm2"
>
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.ProjectId)
@Html.HiddenFor(model => model.RoleId)
<
div
class
=
"editor-label"
>
@Html.LabelFor(model => model.Title)
</
div
>
<
div
class
=
"editor-field"
>
@Html.TextBoxFor(model => model.Title, new { style = "width:99%", maxlength = 100 })
<
span
data-for
=
"Title"
class
=
"k-invalid-msg"
></
span
>
</
div
>
<
div
class
=
"editor-label"
>
@Html.LabelFor(model => model.Description)
</
div
>
<
div
class
=
"editor-field"
>
@Html.TextAreaFor(model => model.Description, new { style = "width:100%; height:100px"})
<
span
data-for
=
"Description"
class
=
"k-invalid-msg"
></
span
>
</
div
>
<
div
class
=
"edit-buttons"
>
<
a
class
=
"k-button k-button-icontext k-update-button"
onclick
=
"updateClick()"
href
=
"\\#"
><
span
class
=
"k-icon k-update"
></
span
>Save</
a
>
<
a
class
=
"k-button k-button-icontext k-cancel-button"
href
=
"\\#"
><
span
class
=
"k-icon k-cancel"
></
span
>Cancel</
a
>
</
div
>
</
div
>