【问题标题】:ASP.NET MVC ClientSide EventsASP.NET MVC 客户端事件
【发布时间】:2016-06-15 20:43:41
【问题描述】:

我正在尝试学习 MVC,来自 .NET 背景。我有一个带有 devexpress gridview 控件的索引页面,并且正在尝试添加一个focusedrowchanges 事件。我的索引页面仅包含以下内容

<main style="width:100%">
    @Html.Action("GridViewPartial")
</main>

我的Gridviewpartial如下

@{
    var grid = Html.DevExpress().GridView(settings =>
    {
    settings.Name = "GridView";
    settings.CallbackRouteValues = new { Controller = "Home", Action = "GridViewPartial" };

    settings.SettingsEditing.AddNewRowRouteValues = new { Controller = "Home", Action = "GridViewPartialAddNew" };
    settings.SettingsEditing.UpdateRowRouteValues = new { Controller = "Home", Action = "GridViewPartialUpdate" };
    settings.SettingsEditing.DeleteRowRouteValues = new { Controller = "Home", Action = "GridViewPartialDelete" };
    settings.ClientSideEvents.FocusedRowChanged = "OnRowSelect";
    //settings.ClientSideEvents.FocusedRowChanged = "function(s, e) {alert('The button has been clicked');}";


    settings.SettingsEditing.Mode = GridViewEditingMode.PopupEditForm;
    settings.SettingsBehavior.ConfirmDelete = true;

    settings.CommandColumn.Visible = false;
    settings.CommandColumn.ShowNewButton = false;
    settings.CommandColumn.ShowDeleteButton = false;
    settings.CommandColumn.ShowEditButton = false;

    settings.KeyFieldName = "id";

    settings.Width = System.Web.UI.WebControls.Unit.Percentage(100);

    settings.SettingsAdaptivity.AdaptivityMode = GridViewAdaptivityMode.Off;
    settings.SettingsAdaptivity.AdaptiveColumnPosition = GridViewAdaptiveColumnPosition.Left;
    settings.SettingsAdaptivity.AdaptiveDetailColumnCount = 1;
    settings.SettingsAdaptivity.AllowOnlyOneAdaptiveDetailExpanded = false;
    settings.SettingsAdaptivity.HideDataCellsAtWindowInnerWidth = 0;

    settings.Columns.Add("reference");
    settings.Columns.Add("name");
    settings.Columns.Add("description");

});
if (ViewData["EditError"] != null)
{
    grid.SetEditErrorText((string)ViewData["EditError"]);
}
}
@grid.Bind(Model).GetHtml()

如您所见,我添加了一个focusedrowchanges 事件并尝试了2 种不同的使用方式。我目前正在尝试让它使用 javascript 函数。

<script type="text/javascript">
    function OnRowSelect(s, e) {
        alert('test');
        }
</script>

当我更改网格上的焦点行时,它似乎没有进入函数,我不知道这是为什么。我也尝试在函数中放置一个断点,这永远不会被击中。有人能解释一下我应该如何正确地做到这一点吗?

【问题讨论】:

    标签: asp.net-mvc devexpress


    【解决方案1】:

    您的两种方法都可以使用(在我自己的一个项目中尝试过)。 您只是缺少一项设置:settings.SettingsBehavior.AllowFocusedRow = true;

    参见DevExpress demo 也展示了相同的内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多