asp.net-mvc - Kendo UI ASP MVC 无法获取网格选定行值

标签 asp.net-mvc grid editor kendo-ui selecteditem

我正在使用 Kendo UI 网格来显示邮件列表,当我单击一行时,我需要选择一行并在编辑器中从客户端已有的邮件对象中显示邮件正文。 但无法获取所选行的值。

查看代码如下:

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MVC3toHTML5.Models.MailModel>" %>

<!DOCTYPE html>

<html>
<head runat="server">
    <title>Index</title>
    <link href="../../Content/Site.css" rel="stylesheet" type="text/css" />
     <link href="<%= Url.Content("/Content/web/kendo.common.min.css") %>" rel="stylesheet" type="text/css" />
    <link href="<%= Url.Content("/Content/web/kendo.rtl.min.css") %>" rel="stylesheet" type="text/css" />
    <link href="<%= Url.Content("/Content/web/kendo.default.min.css") %>" rel="stylesheet" type="text/css" />
    <link href="<%= Url.Content("/Content/shared/examples-offline.css") %>" rel="stylesheet" type="text/css" />
    <script src="<%: Url.Content("/Scripts/jquery-1.5.1.min.js") %>" type="text/javascript"></script>
    <script src="<%: Url.Content("/Scripts/modernizr-1.7.min.js") %>" type="text/javascript"></script>
      <script src="<%= Url.Content("/Scripts/jquery.min.js") %>"></script>
    <script src="<%= Url.Content("/Scripts/kendo.web.min.js") %>"></script>
    <script src="<%= Url.Content("/Scripts/kendo.aspnetmvc.min.js") %>"></script>
    <script src="<%= Url.Content("/Scripts/console.min.js") %>"></script>
    <script src="<%= Url.Content("/Scripts/prettify.min.js") %>"></script>
</head>
<body>
    <div style="font-size:medium;">
        <%: Html.Kendo().Grid(Model.mailList)
        .Name("Grid")
        .Columns(columns =>
        {
            columns.Bound(p => p.MailId).Width(200);
            columns.Bound(p => p.From.Value).Width(200);
            columns.Bound(p => p.Subject).Width(200);

        })
                        .Pageable()
                        .Sortable()
                        .Scrollable()
                        .Filterable()
                        .Groupable()
                        .DataSource(dataSource => dataSource
                            .Ajax()
                            .ServerOperation(false)
                                        .Events(events => events.Change("Grid_OnRowSelectUID"))

                         )
    .Selectable()
%>
    </div>
    <div style="margin-left:220px;">
  <% Html.Kendo().Editor()
      .Name("Editor")
      .HtmlAttributes(new { style = "width: 740px;height:440px;" })


      .Render();
%>
<script type="text/javascript">
    function Grid_OnRowSelectUID() {

        var dataSource = new kendo.data.DataSource({
            change: function (e) {
                alert("datasource");
            }
        });

        dataSource.bind("change", function (e) {
            alert("Bind");
        });

    }









</script>
    </div>
</body>
</html>

Controller 如下:

namespace MVC3toHTML5.Controllers
{
    public class Home2Controller : Controller
    {
        public ActionResult Index()
        {
            MailModel mailModelobj = new MailModel();
            mailModelobj.GetMailList();
            return View(mailModelobj);

        }

    }
}

我从网络服务收到邮件。 实现这一目标的正确方法是什么?

最佳答案

使用change Grid 的事件而不是 dataSource 的更改事件。

<%: Html.Kendo().Grid(Model.mailList)
    .Name("Grid")
    .Selectable()
    .Events(ev=>ev.Change("onSelectRow"))
   //...



   <script>
        function onSelectRow(e){
             var currentSelectedItem = this.dataItem(this.select());
             alert(currentSelectedItem.SomeProp);
             $('#Editor').data().kendoEditor.value(currentSelectedItem.SomeProp);
        }
   </script>

关于asp.net-mvc - Kendo UI ASP MVC 无法获取网格选定行值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13991946/

相关文章:

c# - Entity Framework 6 Code First - 对树结构的评论

asp.net - Entity Framework 和 MVC 应用程序中的奇怪编译错误

asp.net-mvc - MVC 验证的单元测试

c++ - 有效地遍历 vector 中的值

javascript - 单元格编辑如何与 extjs 商店管理器配合使用?

c - sublime text 2 无法运行我的 c 程序?

vim - 如何在 Vim 中复制所选行上方的行

c# - 序列化类型对象时检测到循环引用

grid - 使用 Susy 接下来如何创建带有固定排水沟的流体柱的网格

editor - 如何将巨大的文本文件从 ANSI 更改为 UTF-8?