PDA

View Full Version : سوال: ریپیتر



AmirRezanezhad
پنج شنبه 12 دی 1392, 23:25 عصر
سلام دوستان گرامی...من دارم یک شبکه اجتماعی درست میکنم ...برای نمایش استاتوس هام از ریپیتر استفاده کردم ....یک دکمه ای هم تو ریپیتر گذاشتم که کار لایکو انجام میده ...سوالم اینجاست که چه طوری به این دکمه دسترسی داشته باشم ؟
اصلن دستوراتمو کجا بنویسم ؟
:متفکر:

barzin144
جمعه 13 دی 1392, 01:21 صبح
میتونی کلا Ajax کار کنی یا اگه میخوای سمت سرور کار کنی باید با command argument این کارو انجام بدی.
به دکمه command name و command argument اضافه میکنی که argument رو ID استاتوس میزاری و در رخداد onItemCommand واسه ریپیتر ID رو از command argument میخونی و کارهای دیتا بیس رو انجام میدی.

AmirRezanezhad
جمعه 13 دی 1392, 22:02 عصر
barzin عزیز میتونی یه کم بیشتر توضیح بدین یا یک نمونه بزارین

barzin144
جمعه 13 دی 1392, 22:19 عصر
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_OnItemCommand" DataSourceID="SqlDataSource1">


<ItemTemplate>
key1:
<asp:Label ID="key1Label" runat="server" Text='<%# Eval("key1") %>'></asp:Label><br />
key2:
<asp:Label ID="key2Label" runat="server" Text='<%# Eval("key2") %>'></asp:Label><br />
key3:
<asp:Label ID="key3Label" runat="server" Text='<%# Eval("key3") %>'></asp:Label><br />
<asp:TextBox ID="col1" runat="server" Text='<%# Eval("col1") %>'></asp:TextBox>
<asp:TextBox ID="col2" runat="server" Text='<%# Eval("col2") %>'></asp:TextBox>


<br />


<asp:linkbutton ID="Linkbutton1" commandname="Update" runat="server" text="Update" CommandArgument='<%# Eval("key1") +"|"+Eval("key2")+"|"+ Eval("key3") %>' />
<asp:linkbutton ID="Linkbutton2" commandname="Cancel" runat="server" text="Cancel" />


</ItemTemplate>
</asp:Repeater>



protected void Repeater1_OnItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.CommandName == "Update")
{

string col1 = ((TextBox)e.Item.FindControl("col1")).Text;
string col2 = ((TextBox)e.Item.FindControl("col2")).Text;


string allKeys = Convert.ToString(e.CommandArgument);

string[] arrKeys = new string[2];
char[] splitter = { '|' };
arrKeys = allKeys.Split(splitter);



SqlDataSource1.UpdateParameters["col1"].DefaultValue = col1;
SqlDataSource1.UpdateParameters["col2"].DefaultValue = col2;

SqlDataSource1.UpdateParameters["key1"].DefaultValue = arrKeys[0];
SqlDataSource1.UpdateParameters["key2"].DefaultValue = arrKeys[1];
SqlDataSource1.UpdateParameters["key3"].DefaultValue = arrKeys[2];


SqlDataSource1.Update();

Repeater1.DataBind();

}
}

دوست عزیز اینو از جایی پیدا کردم به نظر مثالش واضح باشه ، فک کنم کارت راه بیوفته