Telerik MVC 3网格选择行绑定到Model属性

时间:2011-04-12 22:06:12

标签: asp.net-mvc-3 telerik-grid

我的视图中有一个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

1 个答案:

答案 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)

如果你更换这两个,它应该解决你的问题。这就是我目前正在做的事情,所以我认为它会起作用。如果它不只是给我留言,我会看到我还能想出什么。

相关问题