2011-08-09 7 views
0

誰も私はaspのJavaScript関数に値を渡すことができます知っていますか:LinkBut​​ton OnClientClick?aspのJavaScript関数に値を渡すにはどうすればいいですか?LinkBut​​ton 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> 

をどのように私はasp:LinkButton OnClientClickイベントでJavaScript関数multipleTeamsAllowedValidation()に値<%# Eval("ReferenceValue")%>を渡すことができます?

答えて

0

あなたはあなたが

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

または

HTML関数に値を渡すためにthis.Valueまたはthis.InnerTextを試してみることができます

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

または

を試すことができますこれを渡すことでオブジェクト自体を渡すことができます

OnClientClick="return multipleTeamsAllowedValidation(this)" 

あなたは簡単にテキストにアクセスでき、実行操作を行うことができます。関数内

document.getElementById(this.Id).innerText or this.innerText

+0

が動作していません:( –

+0

@Jin Yong - 2番目のオプションを試してみてください。これはfuctionアジャスターとして渡してください。 –

+0

これは動作していますが、私が得たいのはDataKeyNamesの値です<%#Eval( "ReferenceValue")%>)innerTextの代わりに –

0

私見を行い、その多くの方が小さなヘルパーを書き込みます。

マークアップ。

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

コードビハインド

protected string SetClientClick(object objName) 
{ 
    return String.Format("javascript:return multipleTeamsAllowedValidation('{0}');", objName.ToString()); 
} 
関連する問題