0

我想在客户端对标签单击执行一些操作。所以我有一个看法:

<telerik:RadMultiPage runat="server" ID="rmpRightBar">
                        <telerik:RadPageView runat="server" ID="rpvHelpDetails">
                            //some code
                        </telerik:RadPageView>
                        <telerik:RadPageView runat="server" ID="rpvSearchDetails">
                            <asp:Table runat="server" ID="tblSearchResult">
                            </asp:Table>
                        </telerik:RadPageView>
                    </telerik:RadMultiPage>

以及我在运行时将标签添加到我的视图表的代码隐藏:

private void SearchResultShow(IEnumerable<HelpModel> helpCollection)
    {
        var helpResultRow = new TableRow();

        foreach (var help in helpCollection)
        {
            var helpCell = new TableCell();
            var label = new Label();

            label.ID = "SearchResult_" + help.ID;
            label.Text = help.Title;
            helpCell.Controls.Add(label);

            helpResultRow.Cells.Add(helpCell);
        }

        tblSearchResult.Rows.Add(helpResultRow);
    }

然后我想在客户端访问我的标签并在点击时执行一些操作。

JavaSctipt 代码:

$(document).ready(function () {
    $('[id*=SearchResult_]').click(function () {
        alert("Handler for .click() called.");
    });
});

由于我有 2 个网页浏览量,我在它们之间切换。在我切换视图后,我的 javascript 不起作用。

如何使用 jquery 访问运行时通过其 id 的一部分添加的 asp 控件?

4

2 回答 2

1

我知道这不是类的用途,但为什么不使用它们呢?

您可以按类引用它们,而不是通过 ID 引用您的元素。一个警告是确保您没有使用任何样式规则的类(您可以通过选择任意名称轻松避免)

于 2012-12-20T11:39:33.943 回答
1

在您的页面中添加一个RadScriptBlock并将您的javascript代码放入其中。然后将它RadScriptBlock的 ID 添加到您ajax settings用于切换的views.

于 2012-12-20T12:19:03.410 回答