【问题标题】:How would I link to an external site from a cell in a kendo grid?如何从剑道网格中的单元格链接到外部站点?
【发布时间】:2015-06-10 15:50:06
【问题描述】:

正如标题所说。我想要一个剑道网格,里面有一个叫做 Link 的列。该列需要动态生成指向用户放入其中的任何地址的链接。我不需要担心错误检查以确保链接有效,或类似的事情。

我进行了研究,发现的只是链接到同一项目中其他位置的方法。在我的示例中,我需要对其进行设置,以便如果用户在“链接”列中编辑单元格以显示“www.Temporarysite.com”,则在保存编辑后,网格将创建指向该站点的超链接。

我尝试过使用操作链接,但这似乎无法正确实现目的。

想法?如有需要,我可以提供代码示例。

编辑:我将在下面包含一些代码。感谢您的帮助!

columns.Bound(o => o.Link).ClientTemplate(@Html.ActionLink("#=Link#", "#= myScript(#= Link#)#").ToHtmlString());

问题在于,这只是创建了一个锚标记,该标记会出现“找不到页面”的错误。它正在尝试访问类似“www.my site.com/www.Google.com”的内容。

【问题讨论】:

  • 最好添加代码示例,但为什么不使用列模板呢? { 字段:“URL”,标题:“URL”,模板:'#=Title#'}]

标签: c# asp.net-mvc-4 kendo-ui kendo-grid


【解决方案1】:

here is example based on the kendo dojo

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Untitled</title>

    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.common.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.rtl.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.default.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.dataviz.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.dataviz.default.min.css">
    <link rel="stylesheet" href="http://cdn.kendostatic.com/2014.1.528/styles/kendo.mobile.all.min.css">

    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://cdn.kendostatic.com/2014.1.528/js/kendo.all.min.js"></script>


    <script>
      $(document).ready(function(){
        var sampleData = [
          { "Title": "The Code Project", "URL": "http://codeproject.com/","Developer":"Tom Hanks" },
          { "Title": "Kendo UI", "URL": "http://kendoui.com/" ,"Developer":"Tom Cruise"}
        ];
        var ddatasource=  new kendo.data.DataSource.create(sampleData);
        $("#testGrid").kendoGrid({
           editable: "popup",
          dataSource: ddatasource,
          columns: [{ command: ["edit", "destroy"], title: "פעולות", width: "220px" },
            { field: "Title", title: "Title Name"},
                    { field: "URL", title: "URL", template: '<a href="#=URL#">#=Title#</a>'}]
        });
      });

    </script>
  </head>
  <body>
    <div id="testGrid" data-role="grid" data-bind="source: sampleData"
         data-sortable="true"  data-resizable="true" />
  </body>
</html>

【讨论】:

  • 我的网格是 AJAX 绑定的,所以我不确定你的示例是否适合我。我添加了一个代码示例。你有机会帮我解决它吗?
  • 我建议您直接检查模板而不是生成的链接,如下所示: columns.Bound(o => o.Link).ClientTemplate("#=链接#");因为认为它在方法调用上失败了
  • 在您验证上述工作后,您可以尝试 columns.Bound(o => o.Link).ClientTemplate(@Html.ActionLink("#=Link#", myScript(@item.Link )#").ToHtmlString());
猜你喜欢
  • 1970-01-01
  • 2014-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-29
  • 2014-05-03
  • 1970-01-01
相关资源
最近更新 更多