如何在转发器控件内的javascript函数上传递隐藏字段值

时间:2014-03-19 13:11:03

标签: c# javascript jquery asp.net

我尝试了很多,但无法弄明白。我想在我的javascript函数上传递数据。 我正在保存隐藏文件的数据。我想要的只要我点击我的按钮就会调用javascript function&通过我隐藏的田野。

<asp:Repeater ID="rptGallary" runat="server" >
   <ItemTemplate>
      <asp:HiddenField ID="hfsportsmanfeedid" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"SportsmanFeedId") %>'/>
      <asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test("How to pass here"));" />
   </ItemTemplate>
</asp:Repeater>

感谢您的帮助。

4 个答案:

答案 0 :(得分:2)

您只需要点击Test按钮上的点击元素

即可

尝试使用此代码:

HTML / ASPX标记

<asp:Button ID="btnLike" runat="server" Text="Like" 
OnClientClick="Test(this);" />

<强>的Javascript

function Test(element){
  var $btn = $(element) // Gets clicked button
  var hiddenBValue = $btn.prev().val(); // Gets hidden element value
}

<强>文档

  • prev()
  • 这应该有效!

    答案 1 :(得分:0)

    从repeater rptGallary_ItemCommand事件中获取隐藏字段的值,并将其传递给java脚本

    protected void rptGallary_ItemCommand(object source, RepeaterCommandEventArgs e)
        {
            //add command name to btnLike button let it bet test here
            if (e.CommandName == "test")
            {
                HiddenField hiddenfield = (HiddenField)e.Item.Parent.Parent.FindControl("hfsportsmanfeedid");
    
                //pass that to javascript
            }
        }
    

    答案 2 :(得分:0)

    你可以传递它,

    <asp:HiddenField ID="hfsportsmanfeedid" runat="server" value='<%# DataBinder.Eval(Container.DataItem,"SportsmanFeedId") %>'/>
    <asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test('<%# DataBinder.Eval(Container.DataItem,\"SportsmanFeedId\") %>'));" />
    

    <强> SCRIPT

    function Test(value){
       alert(value);
    } 
    

    或者使用prev()之类的,

    <asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="Test(this));" />
    

    <强> SCRIPT

    function Test(ths){
       alert($(ths).prev().val());
    } 
    

    答案 3 :(得分:0)

    这样做 -

    <asp:Button ID="btnLike" runat="server" Text="Like" OnClientClick="javascript:Test(document.getElementById('hfsportsmanfeedid').value);" />