我的视图中有一个Telerik Grid。我想知道是否有一种方法可以将所选行的Datakey绑定到Model属性 -
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site1.Master" Inherits="System.Web.Mvc.ViewPage<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>" %>
&lt;%using(Html.BeginForm()){%&gt;
<div class="editor-label">
<br />
<label>Select Which Job:</label>
</div>
<div>
<%= Html.Telerik().Grid((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"])
.Name("JobFileGrid")
.EnableCustomBinding(true)
//.BindTo((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"])
.DataKeys(keys => keys.Add(o => o.JobFileId))
.Columns(columns =>
{
columns.Bound(o => o.JobFileId).Hidden(true);
columns.Bound(o => o.JobFileName).Title("Job File Name").Width(500);
columns.Bound(o => o.JobFileVersion).Title("Job File Version").Width(200);
columns.Bound(o => o.JobFileDateCreated).Title("Date Created").Format("{0:MM/dd/yyyy}").Width(300);
})
.HtmlAttributes(new { style = "width: 1000px; font-family:arial; font-size: .9em;" })
.ClientEvents(events => events.OnRowSelected("onRowSelected"))
.DataBinding(dataBinding => dataBinding.Ajax().Select("SelectJobFile", "Admin"))
.Pageable()
.Sortable()
.Selectable()
.RowAction(row =>
{
row.Selected = row.DataItem.JobFileId.Equals(ViewData["JobFileId"]);
//Model.JobFileId = ViewData["JobFileId"].ToString();
})
%>
</div>
<div>
</div>
<div>
<br />
<button type= "submit" name="button" class="t-button" >Run Report</button>
</div>
</div>
<% } %>
enter code here
<script type="text/javascript">
function onRowSelected(e) {
var id = e.row.cells[0].innerHTML;
alert(id);
}
</script>
我的模特是 -
public class JobFileStatisticsModel
{
public string JobFileId { get; set; }
public string JobFileName { get; set; }
public string JobFileVersion { get; set; }
public string JobFileDateCreated { get; set; }
}
如何将Grid中所选行的Datakey绑定到Model.JobFileId属性? 请帮忙。
谢谢, SDD
答案 0 :(得分:1)
更改<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>
到<IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>>
同时替换
<%= Html.Telerik().Grid((IEnumerable<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>)ViewData["JobFilesDataList"])
这条线。
<%= Html.Telerik().Grid<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>(Model)
如果你更换这两个,它应该解决你的问题。这就是我目前正在做的事情,所以我认为它会起作用。如果它不只是给我留言,我会看到我还能想出什么。