2010-05-24 8 views
0

У меня есть страница мастер-детали, в которой я использую GridView для отображения нескольких строк данных, а также диалоговое окно DetailsView + jQuery для отображения деталей одной записи. только один элемент DetailsView открыт одновременно.ASP.NET: Как назначить ID в поле DetailsView?

Мне нужно иметь возможность вытащить одно поле открытого элемента DetailsView для манипуляции с использованием JavaScript. Есть ли способ предоставить уникальный идентификатор для заданного поля в DetailsView, поэтому я могу использовать getElementByID? Или есть другой способ выполнить то, что я пытаюсь сделать?

Благодарим вас заблаговременно.

ответ

1

Если вы используете связанное текстовое поле в поле шаблона в вашем DetailsView вы можете выбрать его:

$("[id$='MyTextBox']"); 

Что будет найти текстовое поле, связанное с MyFieldName, как показано ниже.

<asp:DetailsView ID="DetailsView1" runat="server"> 
    <Fields> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <asp:TextBox ID="MyTextBox" Text='<%# Bind("MyFieldName")%>' runat="server"></asp:TextBox> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Fields> 
</asp:DetailsView> 

Независимо пустая болтовня asp.net добавляет на начале Ид не имеет значения, потому что JQuery $ = средний «заканчивается».

+0

Спасибо. Однако проблема заключается не в поиске элемента с использованием jQuery - он присваивает идентификатор текстовому полю для поиска jQuery. – jbreed

+0

Если вы используете поле шаблона в своем представлении сведений, вы привязываете свои данные к элементам управления asp.net nowmal, таким как текстовые поля или метки, в шаблоне. Как и все элементы управления .net, вы даете им уникальный идентификатор. Идентификатор обработанного html-элемента всегда будет заканчиваться идентификатором, который вы даете вашему управлению привязкой databound asp.net в поле вашего шаблона просмотра деталей. –

+0

Я обновил свое сообщение, чтобы продемонстрировать, что я имею в виду. –

0

может быть лучший способ, но когда мне нужен идентификатор, доступный для работы js, я просто конвертирую связанное поле в шаблонное поле. вы можете указать текстовое поле по вашему выбору. имейте в виду, что при визуализации идентификатор будет расширен с идентификатором родительского элемента управления.