• 15-01-2014, 22:33:09
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhaba arkadaşlar, yorumlara javascript oy koymak istiyordum bunun için verileri repeater ile doldurdum bu repeater'ın içinde bir buton var butona bastığımda o yoruma ot atmayı yapacaktım tüm altyapısını yaptım ama repeater'ı clientside olarak butonu tetkiletemedim yani şunun gibi birşey yapmam gerek

    <asp:Repeater ID="rp" runat="server" ItemType="NLayer">
       <ItemTemplate>
        <!--içerik-->
        buton veya link buton (<%#Item.YorumId%>)
       </ItemTemplate>
    </asp:Repeater>
    
    --Code behind;--
    void Oy()
    {
       Foo(YorumId);
    }
    yani repeater içindeki butona basınca oy verecek olan metodu client olarak tetikletmeliyim, performans için geriye oy sayısı döndürmeyi düşünmüyordum nasıl yapabilirim?
  • 18-01-2014, 02:16:26
    #2
    berkorn adlı üyeden alıntı: mesajı görüntüle
    Merhaba arkadaşlar, yorumlara javascript oy koymak istiyordum bunun için verileri repeater ile doldurdum bu repeater'ın içinde bir buton var butona bastığımda o yoruma ot atmayı yapacaktım tüm altyapısını yaptım ama repeater'ı clientside olarak butonu tetkiletemedim yani şunun gibi birşey yapmam gerek

    <asp:Repeater ID="rp" runat="server" ItemType="NLayer">
       <ItemTemplate>
        <!--içerik-->
        buton veya link buton (<%#Item.YorumId%>)
       </ItemTemplate>
    </asp:Repeater>
    
    --Code behind;--
    void Oy()
    {
       Foo(YorumId);
    }
    yani repeater içindeki butona basınca oy verecek olan metodu client olarak tetikletmeliyim, performans için geriye oy sayısı döndürmeyi düşünmüyordum nasıl yapabilirim?


    <asp:Button ID="btn" OnClick="btn_Click" CommandArgument='<%#Item.YorumId%>' runat="server" Text='oyla' />
        protected void btn_Click(object sender, EventArgs e)
        {
            int yorumId = (sender as Button).CommandArgument;
            Foo(yorumId);
        }
  • 18-01-2014, 12:43:18
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    İlk olarak sıkıntı bunu js'de mi yapmak istiyorsun yoksa c# tarafında mı? Çünkü hem javascript demişsin hem codebehind demişsin. Kavram karmaşası olmuş.
    JS ile olmasını istiyorsan button'un veya linkbutton'un ClientID'sini veya UniqueID'sini alıp işlem yapman gerek.
    <%= btn.ClientID %>
    C# tafafında yapmak istiyorsan eğer repeater'a ItemCommand özelliğini eklemen ve içerisine yazman gerek. Çünkü button repeater'ın içinde.
    <asp:Repeater ID="rp" runat="server" OnItemCommand="rp_ItemCommand">
     <ItemTemplate> 
       <asp:LinkButton ID="btn" runat="server" CommandName="oyver" CommandArgument='<%# Eval("oyId")%>' >Oy Ver</asp:LinkButton>
     </ItemTemplate>
    </asp:Repeater>
    
    
    protected void rp_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
    if(e.CommandName == "oyver" && Convert.ToInt32(e.CommandArgument) > 0)
    {
     // oy verme işlemleri
    }
    }
  • 19-01-2014, 03:47:22
    #4
    cevaplar için teşekkürler, aslında sormadan önce istediğim şey butona basılınca sorguyu sayfayı post etmeden gönderip dönen oy sayısını yan taraftaki oy sayacında göstermekti ama sonradan gerek kalmadı performans için , CommandArgument ile çift parametre yollamak yetti.