2011-08-09 3 views
0

Кто-нибудь знает, как передать значение функции javascript в asp: LinkButton OnClientClick?Как передать значение функции JavaScript в asp: LinkButton OnClientClick?

Пример: Если у меня есть следующий код:

<asp:ListView ID="lvTeams" runat="server" DataSourceID="dsTeams" DataKeyNames="ReferenceValue" 
    OnItemCommand="lvTeams_ItemCommand"> 
    <LayoutTemplate> 
     <ul style="color:#fe8113;"> 
     <asp:PlaceHolder ID="itemPlaceholder" runat="server" /> 
     </ul> 
    </LayoutTemplate> 
    <ItemTemplate> 
     <li> 
     <asp:LinkButton runat="server" OnClientClick="return multipleTeamsAllowedValidation()" CausesValidation="true" CommandName="" CssClass="orange" 
      Text='<%# Eval("TeamName")%>' /> 
     </li> 
    </ItemTemplate> 
    </asp:ListView> 

Как я могу передать значение <%# Eval("ReferenceValue")%> в функцию JavaScript multipleTeamsAllowedValidation() в asp:LinkButton OnClientClick случае ??

ответ

0

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

onclick= 'multipleTeamsAllowedValidation(<%# Eval("SHOW_Name") %>);' 

или

Вы можете попробовать this.value или this.InnerText передать значение в HTML функцию

<asp:LinkButton runat="server" OnClientClick="return 
multipleTeamsAllowedValidation(this.InnerText)" CausesValidation="true" CommandName="" 
CssClass="orange" Text='<%# Eval("TeamName")%>' /> 

или

вас может пройти сам объект, передав это

OnClientClick="return multipleTeamsAllowedValidation(this)" 

, так как вы можете легко получить доступ к его тексту, а не выполнять операцию.

в функции сделать document.getElementById(this.Id).innerText or this.innerText

+0

не работает .. :( –

+0

@Jin Yong - попробуйте второй вариант, передайте это как fuction agrument и получите доступ к его тексту. –

+0

это работает, но я хочу, чтобы он получал значение от DataKeyNames (<% # Eval ("ReferenceValue")%>) вместо innerText –

0

ИМХО, его намного лучше, чтобы написать небольшой помощник.

Разметка.

OnClientClick='<%# SetClientClick(Eval("ReferenceValue")) %>'> 

Code-за

protected string SetClientClick(object objName) 
{ 
    return String.Format("javascript:return multipleTeamsAllowedValidation('{0}');", objName.ToString()); 
} 
0

Существует еще один простой способ,

<asp:LinkButton ID="lnkRecord" Text="Click" runat="server" OnClientClick='<%# Eval("TeamName","javascript:return multipleTeamsAllowedValidation({0});") %>'></asp:LinkButton> 

Вы также можете ударить ссылку ценам ниже

https://snavin.wordpress.com/2011/02/02/pass-eval-value-in-javascript-function-from-gridview/

Я надеюсь, этот woul вы вас.

Смежные вопросы