【问题标题】:Telerik grid column command , add to url # on clickTelerik 网格列命令,单击时添加到 url #
【发布时间】:2015-11-16 08:59:50
【问题描述】:

我在一个 asp.net mvc 项目中有这个 Telerik 网格

<div class="actualGrid" id="actualGrid">
    @(Html.Kendo().Grid<AVNO_KPMG.Models.Bench>()    //Bench Grid
        .Name("grid")

    .Columns(columns =>
    {
        columns.Bound(p => p.name).Title("Bench").Filterable(ftb => ftb.Cell(cell => cell.Operator("startswith"))).Width(100);
        columns.Bound(p => p.freeSeats).Title("Free Seats").Width(200).Filterable(ftb => ftb.Cell(cell => cell.Operator("gte"))).HtmlAttributes(new { @class = "FreeSeats" })
            .ClientTemplate("<div class='barthingy'><div class='bars_text'><div class='seatsText'><span class=\"bookNotfull\"></span> <b>#=bookedSeats#</b> USED SEATS</div><div class='seatsText'><span class=\"bookfull\"></span> <b>#=freeSeats#</b> TOTAL OFSEATS</div></div><div id='bigbar'><div  class='bigbar'  style='width:100%; float:left; background-color:rgb(142, 188, 0);'><div  ' style='float:right; width:#=bookedSeats *100 / seatsCount#%; background-color:rgb(255, 99, 71); height:16px '  class='b_#=name#' id='temp-log'></div></div></div></div>");

        //buttons
        columns.Command(command => { command.Custom("checkBench1 ").Text(" AM ").Click("doCheckIn"); command.Custom("checkBench 2").Text(" PM ").Click("doCheckIn"); command.Custom("checkBench3").Text("All Day").Click("doCheckIn"); }).HtmlAttributes(new { @class = "comms#=freeSeats# freeAM#=seatsCount - (bookings_am + bookings_allday)# freePM#=seatsCount - (bookings_pm + bookings_allday)# freeALLDAY#=freeSeats#" }).Title("Check in").Width(200);
    })

    .Pageable()
    .Sortable()

    .Scrollable(scrolling => scrolling.Enabled(false))
            .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
            //.HtmlAttributes(new { style = "height:530px;" })
            .Events(events => events.DataBound("onDataBound"))
    .DataSource(dataSource => dataSource
    .Ajax()
    //.Sort(sort => sort.Add("freeSeats").Ascending())
    .PageSize(10)
    .Events(events => events.Error("error_handler"))
    .Model(model => model.Id(p => p.id))
                    .Read(read => read.Action("GetBenches", "Deskcheckin"))
            )
    )
</div>

每次我按下命令列中的按钮时,即使我将按钮设置为不执行任何操作,url 都会在其前面加上一个 #。 我的网址类似于

http://www.aaaaaa.com/stuff

当我按下其中一个按钮时,我得到了

http://www.aaaaaa.com/stuff#

如何禁用此功能?

【问题讨论】:

    标签: kendo-ui telerik kendo-grid kendo-asp.net-mvc telerik-grid


    【解决方案1】:

    请尝试使用以下代码 sn-p。对于自定义命令按钮网格,生成相同的锚控件。默认情况下,它设置了 href='#',而我已将其替换为 href='javascript:void(0)'。

    <div>
        @(Html.Kendo().Grid<MvcApplication1.Models.Student>()
            .Name("grid")
            .Columns(columns =>
            {
                ..........
                ..........
                columns.Command(command => { command.Custom("checkBench1").Text("AM").Click("doCheckIn"); }).Title("Check in").Width(200);
            })
            .Events(events => events.DataBound("onDataBound"))
            ..........
            ..........
        )
    </div>
    
    <script> 
        function doCheckIn() {
            alert('a');
        }
        function onDataBound(arg) {
            $("#.k-grid-checkBench1").attr('href', 'javascript:void(0)');
        }
    </script>
    

    如果有任何问题,请告诉我。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-29
      • 2015-09-23
      • 2011-10-12
      • 1970-01-01
      • 2011-01-19
      • 2012-07-31
      • 2013-08-18
      相关资源
      最近更新 更多