Мой элемент управления поиском не находит метку в шаблоне элемента gridview, есть идеи, как это исправить? - PullRequest
0 голосов
/ 05 февраля 2019

Я пытаюсь прикрепить значение к метке в моем виде сетки, используя ту же технику, которую я использовал много раз, даже на этой самой странице, но элемент управления find не находит метку.Кто-нибудь знает, почему это может быть?Из проведенного мною исследования я столкнулся с некоторыми случаями, когда наличие 2 ярлыков в одном шаблоне элемента вызывает эту проблему, но в некоторых случаях это не так.

Gridview:

<asp:TemplateField>
                    <ItemTemplate>
                        <asp:Label ID="lblStockDetailsS" runat="server"></asp:Label>
                        <asp:Label ID="lbl7" runat="server" Text="hello"></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField>

Код:

Label lblSD = (Label)e.Row.FindControl("lblStockDetailsS");
        lblSD.Text = Sline.StockDetailsS;

Label lblSD2 = (Label)e.Row.FindControl("lbl7");
        lblSD2.Text = Sline.NLocalStock;

1 Ответ

0 голосов
/ 07 февраля 2019
  • Событие RowDataBound будет запускаться для каждой строки в сетке.
  • Перед поиском элементов управления, доступных в строке данных, необходимо проверить, является ли текущая строка заголовком или строкой данных.
  • Поместите свой блок кода в это условие.

    if (e.Row.RowType == DataControlRowType.DataRow)

Ссылка: https://techpattarai.com/findcontrol-onrowdatabound-csharp/

Спасибо

...