首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将onClick添加到不脆弱性WebDataGrid中

将onClick添加到不脆弱性WebDataGrid中
EN

Stack Overflow用户
提问于 2018-09-21 17:38:12
回答 1查看 1.1K关注 0票数 0

我有一个完整的WebDataGrid,每次单击一个单元格时,我都想触发一个服务器侧事件。我知道我可以做一个按钮,并添加一个点击,但我希望一些或所有的数据单元格是可点击的。我也看到了这个(https://www.infragistics.com/community/forums/f/ultimate-ui-for-asp-net/108226/onclick-event-for-webdatagrid),但是我需要事件来触发服务器端。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-04 15:17:56

您可以尝试以下方法:

  1. 处理“点击”客户端事件并调用doPostBack js函数来触发回发。Page_Load服务器事件将帮助您确定回发是否由单击引起。需要考虑的是,客户端事件“点击”将在网格中的每一次单击中触发,请查看提供的API链接获取更多信息。
  2. 激活选择行为,并处理CellSelectionChanged客户端事件。从这里开始,使用doPostBack的方法。

网格是非常强大的控件,具有丰富的API和行为,因此我们可以用不同的方式来实现这一点。

片段:

代码语言:javascript
复制
..
<script>
        function client_click(sender, evtArgs) {
            // First Approach
            __doPostBack('myRequest', "someValue");
        }

        function WDG_Selection_CellSelectionChanged(sender, eventArgs)
        {
            // Second Approach
            __doPostBack('myRequest', "someValue");
        }
</script>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager runat="server" ID="ScriptManager1"></asp:ScriptManager>
    <div>
        <ig:WebDataGrid runat="server" ID="WDG" AutoGenerateColumns="False" Width="600px">
            <ClientEvents Click="client_click" />
            <Columns>
                <ig:BoundDataField DataFieldName="CategoryId" Key="CategoryId">
                    <Header Text="CategoryId">
                    </Header>
                </ig:BoundDataField>
                <ig:BoundDataField DataFieldName="CategoryName" Key="CategoryName">
                    <Header Text="CategoryName">
                    </Header>
                </ig:BoundDataField>
                <ig:BoundDataField DataFieldName="Description" Key="Description">
                    <Header Text="Description">
                    </Header>
                </ig:BoundDataField>
            </Columns>
            <Behaviors>
                <ig:EditingCore>
                    <Behaviors>
                        <ig:CellEditing>
                            <CellEditingClientEvents EnteringEditMode="entering_edit_mode" />
                        </ig:CellEditing>
                    </Behaviors>
                </ig:EditingCore>
                <ig:Selection>
                    <SelectionClientEvents CellSelectionChanged="WDG_Selection_CellSelectionChanged" />
                </ig:Selection>
            </Behaviors>
        </ig:WebDataGrid>


..

c#

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
{
    string parameter = Request["__EVENTARGUMENT"];

..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52448648

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档