Gridview ItemTemplate OnClientClick JavaScript-функция со значением DataItem в качестве параметра - PullRequest
1 голос
/ 13 августа 2010

У меня есть кнопка внутри моего <ItemTemplate> в GridView, и я хочу вызвать функцию javascript для OnClientClick этой кнопки, передавая значение DataItem в качестве параметра функции javascript

<ItemTemplate>
    // Labels and Html styles
    ....
    <asp:Button ID="btnEdit" runat="server" Text="Edit" OnClientClick='javascript:CreateEditAddress(<%#Bind("Id") %>);' />
    <asp:Button ID="btnDelete" runat="server" Text="Delete" />
</ItemTemplate>

Если я не буду помещать параметр в CreateEditAddess(), это работает хорошо, но мне нужен параметр.

Я знаю, что могу поместить значение события OnClientClick в событие OnRowDataBound сетки, но я не хочу его помещатьв CodeBehind.Похоже, что тег сервера не анализируется правильно.

Я что-то здесь упускаю?

Ответы [ 2 ]

1 голос
/ 13 августа 2010

См. Это:

загрузка сетки с колонкой гиперссылки

Я думаю, вам следует использовать DataBinder.Eval(Container, "DataItem.YourProperty").

0 голосов
/ 14 июля 2014

Вы также можете попробовать вот так:

<asp:TemplateField HeaderText="Link"> 
  <ItemTemplate> 
      <asp:HyperLink runat="server" ID="HLink" 
          Text='<%# Eval("FirstName").ToString() + " " + Eval("LastName").ToString()%>' 
          NavigateUrl='<%# "javascript:OpenPopup(" + "&#39;" + Eval("EmpId") + "&#39;);"   %> ' />
  </ItemTemplate> 
</asp:TemplateField>

Это поможет вам, когда необходимо передать одну или несколько переменных в функцию javascript.

...