Telerik MVC 3 Привязка выбранной строки сетки к свойству модели

В моем представлении есть сетка Telerik. Я хочу знать, есть ли способ привязать данные выбранной строки к свойству модели -

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site1.Master" Inherits="System.Web.Mvc.ViewPage<Mitek.MobileImagingTest3.Models.JobFileStatisticsModel>" %> 

<% using (Html.BeginForm()) { %>

            <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>

My model is -

  public class JobFileStatisticsModel
{
    public string JobFileId { get; set; }

    public string JobFileName { get; set; }

    public string JobFileVersion { get; set; }

    public string JobFileDateCreated { get; set; }
}

Как привязать данные выбранной строки в сетке к свойству Model.JobFileId? Пожалуйста помоги.

Спасибо SDD


person sdd    schedule 12.04.2011    source источник


Ответы (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)

Если вы замените оба из них, это должно решить вашу проблему. Вот как я сейчас это делаю, думаю, это сработает. Если он не оставит мне сообщение, я посмотрю, что еще я могу придумать.

person divide_byzero    schedule 25.04.2011