PDA

View Full Version : سوال: مدیریت مطالب سایت(حذف)



ya30ien2
دوشنبه 17 مهر 1391, 18:53 عصر
سلام
من برای نمایش اطلاعات از روش زیر استفاده کردم

<div>
<div style=" margin-left:auto; margin-right:auto;" id="accordion" dir="rtl">

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="id" BorderStyle="None" CellPadding="0" GridLines="None">
<Columns>
<asp:TemplateField><ItemTemplate>

<div id="onvan">
&nbsp; » &nbsp;<asp:Label ID="Label1" Font-Size="18px" ForeColor="White" runat="server" Text='<%# Eval("Titr") %>'></asp:Label>
<br />
&nbsp; نویسنده : &nbsp;<asp:Label ID="Label3" runat="server" Text='<%# Eval("TUser") %>'></asp:Label>

</div>
<div class="accordion" id="slider" >
<asp:Label ID="Label2" runat="server" style=" max-width:800px;" Text='<%# Eval("Text") %>'></asp:Label>

</div>
<div style=" margin-bottom:20px; margin-left:20px;" align="left">
<asp:Button ID="Delete" onclick="Delete_Click" BackColor="White" class="next" text="حذف مطلب" runat="server" ></asp:Button>
</div>

</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>


</div>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [Subject]">
</asp:SqlDataSource>


حالا نمیدونم برای حذف مطلب چطوری آدرس دهی کنم
مثلا اگه بخوام تیتر رو شرط قرار بدم چطوری میشه؟

string strSQL = "DELETE FROM Subject WHERE titr = '" +GridView1.Columns[2].ToString() + "'";
SqlCommand objCommand2 = new SqlCommand(strSQL,con);
SqlDataAdapter adapter2 = new SqlDataAdapter(objCommand2);
DataSet mandje2 = new DataSet();
con.Open();
adapter2.Fill(mandje2);
con.Close();


چون لیبل تیتر داخل گرید هست نمیدونم چطوری فراخوانیش کنم
ممنون میشم راهنمایی کنید

amirzandi
دوشنبه 17 مهر 1391, 19:06 عصر
چرا شما با Linq کار نمی کنی؟ دوست داری اینقدر زیاد کد بنویسی؟ به نظر من برو سراغ Linq خیلی راحتتر هست و سریعتر

ya30ien2
دوشنبه 17 مهر 1391, 20:38 عصر
کسی نبود به من بگه چطوری لیبل رو فراخوانی کنم؟

ya30ien2
دوشنبه 17 مهر 1391, 21:52 عصر
دوستان من این کد رو پیدا کردم
اما نتونستم باهاش به نتیجه برسم

Label la = this.GridView1.Rows[GridView1.SelectedIndex].FindControl("Label1") as Label;

arashnaderi
دوشنبه 17 مهر 1391, 21:56 عصر
دوستان من این کد رو پیدا کردم
اما نتونستم باهاش به نتیجه برسم

Label la = this.GridView1.Rows[GridView1.SelectedIndex].FindControl("Label1") as Label;

سلام
امیدوارم این کد به دردتون بخوره. ببخشید که با سی شارپ نوشتم


for (int i = 0; i < GridView1.Rows.Count; i++)
{
Label lbl = (Label)GridView1.Rows[i].FindControl("Label1");

str += lbl.Text;
}

jigily
دوشنبه 17 مهر 1391, 21:58 عصر
شما باید مثلا تیتر را که با به طور مثال عرض می کنم linkbutton نسبت دادی این تغییر را توی اون بوجود بیاری و به خصوصیات link button اضافه کنی
commande name="click"
'("commandargument"<"% Eval("id
بعد میای خاصیت item command از گریاد را کلیک می کنی و این کد را می نویسی
if(commandname=="click")
{
e.commandargument همون ای دی اون چیزی که میخواهی و میتونی باهاش داده اون سطر را حذف کنی.

ya30ien2
دوشنبه 17 مهر 1391, 22:39 عصر
شما باید مثلا تیتر را که با به طور مثال عرض می کنم linkbutton نسبت دادی این تغییر را توی اون بوجود بیاری و به خصوصیات link button اضافه کنی
commande name="click"
'("commandargument"<"% Eval("id
بعد میای خاصیت item command از گریاد را کلیک می کنی و این کد را می نویسی
if(commandname=="click")
{
e.commandargument همون ای دی اون چیزی که میخواهی و میتونی باهاش داده اون سطر را حذف کنی.
لطفا اگه میشه بیشتر توضیح بدید
تا متوجه بشم با تشکر

ya30ien2
سه شنبه 18 مهر 1391, 12:43 عصر
دوستان یک کد پیدا کردم تا حدودی کار راه میندازه فقط یک مشکل داره همیشه آخرین مطلب رو میگیره


foreach (GridViewRow row in GridView1.Rows)
{
t10.Text = ((Label)row.FindControl("Label1")).Text;
Response.Write(t10.Text);
}


نمیدونم چطوری بگم هر کدوم انتخاب شد
لطفا یکی کمک کنه
خیلی گیرم

amirzandi
سه شنبه 18 مهر 1391, 13:09 عصر
می خوای ردیفی که انتخاب شده حذف بشه؟

ya30ien2
سه شنبه 18 مهر 1391, 13:48 عصر
اگه به کدهای اول تایپیک نگاه کنی متوجه میشی من دارم از چند کنترل داخل گرید ویو برای نمایش جدول استفاده میکنم
حالا میخوام از صفحه نوشتن سورس به این کنترل ها دسترسی داشته باشم تا بتونم کارهای لازم رو باهاشون انجام بدم
مثلا میام یک کلید میزارم برای ویرایش خوب باید بتونه آیدی مطلب مورد نظر رو بفرسته تا قابل ویرایش باشه
یا مثلا میخوام حذف کنه باید بتونم آیدی رو برای حذف شرط کنم

amirzandi
سه شنبه 18 مهر 1391, 13:54 عصر
شما باید به کلید موارد زیر رو بدی(به شرطی که کلید داخل GridView Template Item باشه :


<Asp:Button id="Button1" runat="Server" CommandName="UpdateCommand" CommandArgument='<%# Bind("id") %>' />

Code Behind:

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs ) Handles GridView1.RowCommand
Select Case e.CommandName
Case "UpdateCommand"
Dim str As String = "Update Command WHERE (id = @id)"
'@id = e.CommandArgument.toString
End Select
End Sub


این برای حالتی هست که شما در هر ردیف از Grid یک کلید داری که این کلید فقط همون ردیف رو Update می کنه...

ya30ien2
سه شنبه 18 مهر 1391, 14:39 عصر
شما باید به کلید موارد زیر رو بدی(به شرطی که کلید داخل GridView Template Item باشه :


<Asp:Button id="Button1" runat="Server" CommandName="UpdateCommand" CommandArgument='<%# Bind("id") %>' />

Code Behind:

Protected Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs ) Handles GridView1.RowCommand
Select Case e.CommandName
Case "UpdateCommand"
Dim str As String = "Update Command WHERE (id = @id)"
'@id = e.CommandArgument.toString
End Select
End Sub


این برای حالتی هست که شما در هر ردیف از Grid یک کلید داری که این کلید فقط همون ردیف رو Update می کنه...
خیلی ممنون
خیلی کارم رو راه انداختی

hadirr
چهارشنبه 09 اسفند 1391, 10:42 صبح
سلام
یه سوال داشتم
چطور میشه مطالب یه سایت خبری که با asp نوشته شده رو مدیریت کرد؟؟؟؟؟؟؟؟؟؟