ورود

View Full Version : آموزش: مشکل با ریپیتر



sadegh.te
یک شنبه 20 مهر 1393, 11:01 صبح
سلام من یه ریپیتر دارم که داخلش یه button گذاشتم حالا میخوام داخل همون button کد نویسی کنم ولی هر کاری میکنم نمیشه اگه میشه راهنمایی کنید؟؟ ممنون میشم.

mjt10063
یک شنبه 20 مهر 1393, 11:15 صبح
این یه نمونه و مثال است میتونی ازش استفاد کنی

کد ریپرتر

<asp:Repeater ID="Repeater1" runat="server"
onitemcommand="Repeater1_ItemCommand">
<HeaderTemplate>
<table width="30%" style="text-align:center">
<tr>
<td style="width:70%">نوع محموله :</td>
<td style="width:30%">عملیات</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td style="width:70%">
<b><asp:Label ID="Label1" runat="server" Text='<%#Eval ("n_mahmole") %>'></asp:Label></b>
<asp:TextBox ID="Text1" CssClass="input" Visible="false" Text='<%#Eval ("n_mahmole") %>' runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator8"
ValidationGroup="editmahole" runat="server" ForeColor="Red" Font-Size="XX-Small"
ErrorMessage="<br/>فیلد خالی است" ControlToValidate="Text1" Display="Dynamic"></asp:RequiredFieldValidator>
</td>
<td style="width:30%">
<asp:ImageButton ID="lnkEdit" CausesValidation="false" Width="20" Height="20" CommandArgument='<%# Eval("id_mahmole")%>' ImageUrl="~/App_Themes/IMS/image/Button/Edit.png" CommandName="edit" ToolTip="ویرایش" runat="server" />
<asp:ImageButton ID="lnkDelete" CausesValidation="false" Width="20" Height="20" CommandArgument='<%# Eval("id_mahmole")%>' ImageUrl="~/App_Themes/IMS/image/Button/DeleteRed.png" onclientclick="return confirm('آیا می خواهید این رکورد را حذف کنید ؟')" CommandName="delete" ToolTip="حذف" runat="server" />
<asp:ImageButton ID="lnkUpdate" ValidationGroup="editmahole" Width="20" Height="20" CommandArgument='<%# Eval("id_mahmole")%>' ImageUrl="~/App_Themes/IMS/image/Button/Save.png" onclientclick="return confirm('آیا می خواهید این رکورد را ویریش کنید ؟')" CommandName="update" Visible="false" ToolTip="ذخیره" runat="server" />
<asp:ImageButton ID="lnkCancel" CausesValidation="false" Width="20" Height="20" CommandArgument='<%# Eval("id_mahmole")%>' ImageUrl="~/App_Themes/IMS/image/Button/Button Cancel.png" CommandName="cancel" Visible="false" ToolTip="انصراف" runat="server" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


کد داخل ریپرتر

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
try
{
if (e.CommandName == "edit")
{
((Label)e.Item.FindControl("Label1")).Visible = false;
((TextBox)e.Item.FindControl("Text1")).Visible = true;
((ImageButton)e.Item.FindControl("lnkEdit")).Visible = false;
((ImageButton)e.Item.FindControl("lnkDelete")).Visible = false;
((ImageButton)e.Item.FindControl("lnkUpdate")).Visible = true;
((ImageButton)e.Item.FindControl("lnkCancel")).Visible = true;
}
if (e.CommandName == "update")
{
if (Page.IsValid)
{
string Text1 = ((TextBox)e.Item.FindControl("Text1")).Text;
if (scon.State == ConnectionState.Closed)
scon.Open();

SqlCommand scm = new SqlCommand("Update_Mahmole", scon);
scm.CommandType = CommandType.StoredProcedure;
scm.Parameters.AddWithValue("@n_mahmole", Text1);
scm.Parameters.AddWithValue("@id_mahmole", e.CommandArgument);

scm.Parameters.AddWithValue("@user_name_log", Page.User.Identity.Name);
scm.Parameters.AddWithValue("@tarikh_log", pc.GetYear(dt).ToString() + "/" + pc.GetMonth(dt).ToString("00") + "/" + pc.GetDayOfMonth(dt).ToString("00"));
scm.Parameters.AddWithValue("@amaliyat_log", "محموله " + e.CommandArgument + " را ویرایش کرد");
scm.Parameters.AddWithValue("@time_log", pc.GetHour(dt).ToString() + ":" + pc.GetMinute(dt).ToString() + ":" + pc.GetSecond(dt).ToString());
scm.ExecuteNonQuery();
View_List_Mahmole();
View_List_Mahmole_DLL();
View_List_Norm_Mahmole();
lbledmahmole.ForeColor = System.Drawing.Color.Green;
lbledmahmole.Text = "محموله مورد نظر با موفقیت ویرایش شد.";
}
}
if (e.CommandName == "delete")
{
if (scon.State == ConnectionState.Closed)
scon.Open();

SqlCommand scm = new SqlCommand("Delete_Mahmole", scon);
scm.CommandType = CommandType.StoredProcedure;
scm.Parameters.AddWithValue("@id_mahmole", e.CommandArgument);
scm.Parameters.Add("@msg_out", SqlDbType.Int);
scm.Parameters["@msg_out"].Direction = ParameterDirection.Output;

scm.Parameters.AddWithValue("@user_name_log", Page.User.Identity.Name);
scm.Parameters.AddWithValue("@tarikh_log", pc.GetYear(dt).ToString() + "/" + pc.GetMonth(dt).ToString("00") + "/" + pc.GetDayOfMonth(dt).ToString("00"));
scm.Parameters.AddWithValue("@amaliyat_log", "محموله " + e.CommandArgument + " را حذف کرد");
scm.Parameters.AddWithValue("@time_log", pc.GetHour(dt).ToString() + ":" + pc.GetMinute(dt).ToString() + ":" + pc.GetSecond(dt).ToString());
scm.ExecuteNonQuery();

if (scm.Parameters["@msg_out"].Value.ToString() == "1")
{
lbledmahmole.ForeColor = System.Drawing.Color.Red;
lbledmahmole.Text = "این محموله قبلا استفاده شده است و قابل حذف نیست.";
}
else if (scm.Parameters["@msg_out"].Value.ToString() == "0")
{
View_List_Mahmole();
View_List_Mahmole_DLL();
View_List_Norm_Mahmole();
lbledmahmole.ForeColor = System.Drawing.Color.Green;
lbledmahmole.Text = "محموله مورد نظر با موفقیت حذف شد.";
}
}
if (e.CommandName == "cancel")
{
((Label)e.Item.FindControl("Label1")).Visible = true;
((TextBox)e.Item.FindControl("Text1")).Visible = false;
((ImageButton)e.Item.FindControl("lnkEdit")).Visible = true;
((ImageButton)e.Item.FindControl("lnkDelete")).Visible = true;
((ImageButton)e.Item.FindControl("lnkUpdate")).Visible = false;
((ImageButton)e.Item.FindControl("lnkCancel")).Visible = false;
}
}
catch (Exception err)
{
Response.Write("Error :" + err.Message);
}
finally
{
scon.Close();
}
}

sadegh.te
یک شنبه 20 مهر 1393, 11:33 صبح
اگه میشه یه نمونه راحت از button بدین

mjt10063
یک شنبه 20 مهر 1393, 11:37 صبح
اگه میشه یه نمونه راحت از button بدین

باتن با ایمج باتن فرقی نداره که

sadegh.te
یک شنبه 20 مهر 1393, 11:40 صبح
آخه تو این نمونه داره id رو از دیتابیس میخونه ولی وقتی که من میخوام id رو از بانک بخونم از button ارور میگیره؟؟

mjt10063
یک شنبه 20 مهر 1393, 11:48 صبح
خوب جای اینکه به مثال من گیر بدی
نمونه کد خودت رو میزاشتی تا مشکلت حل بشه