2016-09-02 14 views
0

私は、私は隠されたinputフィールドをもIDのLinkBut​​tonは「onclickの」隠された入力に値を代入する

<table>      
     <asp:Repeater ID = "rptr" runat = "server"> 
     <ItemTemplate> 
      <tr> 

       <td> 
        <asp:LinkButton ID = "lbtn" runat = "server" 
         text = '<%#showData(Container.DataItem, "CommonName")%>' 
         CommandName = '<%#showData(Container.DataItem, "ID")%>' 
         CommandArgument = '<%#showData(Container.DataItem, "CommonName")%>' /> 

       </td> 
        </tr> 
     </ItemTemplate> 
     </asp:Repeater> 
    </table> 

を含むcommandnameを持っているリピータ、内部のだasp:LinkButtonを持っています(

<input type = "hidden" id = "ID" runat = "server" /> 

)リピータの外リピータは、多くのasp:LinkButtonを移入し、それぞれがcommandnameに保存されているユニークなIDを持っています。 asp:LinkButtonがクリックされたら、隠された入力値に、クリックされたボタンのcommandnameを保存する必要があります。

私はonclickイベントでjavascript関数を使用しなければならないことを知っています。しかし、私はそれを行う特定の方法を理解することができません。

ありがとうございます。

+0

入力フィールドはどこに配置しますか?リピータの内側か外側か? –

+0

@Ganesh_Devlekar outside。 – Wafae

+0

LinkBut​​tonのポストバックが必要か、クライアント側のソリューションで十分でしょうか? – VDWWD

答えて

0

あなたはリピーターの内側にこれを行うことができます:値を格納するために

<a href="javascript:fillHiddenField(<%# Container.ItemIndex %>, '<%# Eval("ID").ToString() %>')">Fill field</a> 

そしてリピータ外HiddenFieldとJavaScript関数。

<asp:HiddenField ID="HiddenField1" runat="server" /> 

<script type="text/javascript"> 
    function fillHiddenField(rowNumber, rowValue) { 
     document.getElementById("<%= HiddenField1.ClientID %>").value = rowValue; 
    } 

は今、あなたは隠しフィールドの値を取得するためのポストバックを行う必要はありませんが、それはまだ別の要素によって行わポストバックで提供されています。

P.S.それは要素のIDとして "ID"を使用しない方が良いです、それは混乱を引き起こす可能性があります。 =記号の前後の空白はそのままです。

関連する問題