Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将模型从Kendo Mvc UI网格传递到javascript函数_Javascript_Kendo Grid - Fatal编程技术网

将模型从Kendo Mvc UI网格传递到javascript函数

将模型从Kendo Mvc UI网格传递到javascript函数,javascript,kendo-grid,Javascript,Kendo Grid,嗨,我正在使用剑道MVC UI网格。这就是它的样子: @(Html.Kendo().Grid<TegelCheckerModel>() .Name("Grid") .Columns(columns => { columns.Bound(p => p.TegelNaam); columns.Bound(p => p.TegelId).

嗨,我正在使用剑道MVC UI网格。这就是它的样子:

@(Html.Kendo().Grid<TegelCheckerModel>()
            .Name("Grid")
            .Columns(columns =>
            {
                columns.Bound(p => p.TegelNaam);
                columns.Bound(p => p.TegelId).Sortable(false).Filterable(false).ClientTemplate("<span class='iconBtn raadplegen' onclick=\"javascript:showDetails('#= TegelNaam #')\" />").Title("");
            })
            .AutoBind(true)
            .Pageable()
            .Sortable()
            .Filterable()
                    .Events(e => e.DataBound("gridDataBound "))
            .DataSource(dataSource => dataSource
            .Ajax() //Or .Server()
            .Read(read => read.Action("GetTegels", "TegelChecker")
            .Data("getAlvNummerAndVoorWie"))
            )
        )
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(p=>p.TegelNaam);
columns.Bound(p=>p.TegelId).Sortable(false).Filterable(false).ClientTemplate(“”).Title(“”);
})
.AutoBind(真)
.Pageable()
.Sortable()
.可过滤()
.Events(e=>e.DataBound(“gridDataBound”))
.DataSource(DataSource=>DataSource
.Ajax()//或.Server()
.Read(Read=>Read.Action(“GetTegels”、“TegelChecker”)
.数据(“getAlvNummerAndVoorWie”))
)
)
有一列显示可单击的图像。 此时,我可以从单击图像的行中传递“Tegelnaam”。
这是可行的,但我希望传递单击项目所在行的全部数据。我该怎么做呢?

根据我之前回答的问题的答案

有关工作示例,请参见链接:

从以下位置修改代码:

.ClientTemplate("<span class='iconBtn raadplegen' onclick=\"javascript:showDetails('#= TegelNaam #')\" />")
然后javascript函数可以执行以下操作:

 function generateLink(data)
  {
    var ret = '';

    if(data.StatusDesc === '' && data.newStatusDesc !== ''  && data.newStatusDesc !== null)
    {

      var linkElement = 'javscript:showDetails(' + JSON.stringify(data) + ')'; 




      ret = "<span class='iconBtn raadplegen' onclick='" + linkElement + "'>" +                                  data.newStatusDesc + '</span>'; 

      console.log(ret); 

    }
    else 
    {
      ret = data.StatusDesc; 
    }




    return ret;
  }

我花了一点时间让它工作(并尝试一个错误),但这似乎是最明智的方式(在我看来)

只需传递对象
数据
,而不仅仅是
TegelNaam
,例如,将其从#=TegelNaam更改为
=data#
,显然删除了围绕此的引号item@DavidShorthose:将其更改为数据无效。我的html是这样的:对不起。看看我昨天给某人的这个答案,作为你可能的解决方案:@davidshorthes:好的,现在它似乎起作用了。因为当我的页面被加载时,我会进入dosomething函数。但是当我点击的时候,我没有进入它。当然,当我的页面加载时,它不应该出现在函数中。这是我现在的代码:columns.Bound(p=>p.TegelId).Sortable(false).Filterable(false).ClientTemplate(“”).Title(“”)@DavidShort我生成的HTML如下所示:
 function generateLink(data)
  {
    var ret = '';

    if(data.StatusDesc === '' && data.newStatusDesc !== ''  && data.newStatusDesc !== null)
    {

      var linkElement = 'javscript:showDetails(' + JSON.stringify(data) + ')'; 




      ret = "<span class='iconBtn raadplegen' onclick='" + linkElement + "'>" +                                  data.newStatusDesc + '</span>'; 

      console.log(ret); 

    }
    else 
    {
      ret = data.StatusDesc; 
    }




    return ret;
  }
 function showDetails(status){
      console.log(status); 
      console.log("Status is::"+ status);

      alert("Status is::" + status.newStatusDesc);
      return true; 
    }