PDA

View Full Version : ارسال متغییر از طریق لینک روی یکی از ستون datagrid



jannati
دوشنبه 16 شهریور 1383, 14:57 عصر
با سلام
من در یکی از صفحاتم یک datagrid با یک ستون ((نمایش))که میخوام وقتی در هر سطری روی این کلمه کلیک کردم صفحه مثلاdisplay.aspxنمایش داده بشه و اطلاعات بیشتری از اون سطر را نمایش بده.اینجا فقط مشکلم اینه که چطور یک متغییر به صفحه displayبفرستم تا از طریق اون اطلاعات مربوط به اون سطر را واکشی کنم.
توضیح کاملتر اینکه در دیتا گرید فقط نام و کد و واحد و... قرار میگیره.میخوام با کلیک این ستون در هر سطر به صفحه displayبرم تا اطلاعات کاملتری از قبیل چکیده مطالب و فهرست مطالب و... را نمایش بده .
فکر کنم امروز سهمیه سوالاتم دیگه تموم شد .شرمنده!!! :oops:

Farhad.B.S
دوشنبه 16 شهریور 1383, 15:12 عصر
من معمولا یک templateColumn تعریف مینکم و بعد یه هایپر لینک داخلش قرار میدم :


<asp:DataGrid id="grdMyGrid" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<a href='<%# "Display.aspx?id=" + DataBinder.Eval(Container.DataItem,"Id") %>'>Display</a>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

همونطور که می بینید ، آیتم Id به صفحه Display.aspx فرستاده میشه و بعد داخل صفحه Display بر اساس id ارسال شده ، اطلاعات لازم به نمایش درمیاد.

jannati
دوشنبه 16 شهریور 1383, 15:19 عصر
واقعا ممنونم :flower:

jannati
سه شنبه 17 شهریور 1383, 11:24 صبح
معذرت میخوام.یک مسپله که میمونه اینه که در صفحه display فکر کنم باید با دستور querystringاین idرا دریافت کنم.اما این دستور شناخته نمیشه.دستور اشتباهه یا باید کار خاصی بکنم.ممنون میشم راهنمایی کنید :(

Farhad.B.S
سه شنبه 17 شهریور 1383, 11:28 صبح
توجه داشته باشید که سی شارپ به حروف بزرگ و کوچک حساسه :


Request.QueryString["Id"];

jannati
شنبه 04 مهر 1383, 15:22 عصر
دوستان سلام
من در اینباره یک روش دیگه هم پیدا کردم که حیفم اومد اینجا نگم.البته با اجازه اساتید محترم.و اما روش بعدی:
1-یک ستون templateدر دیتاگرید خود بسازید.
2-این ستون را در مد editقرار بدید.باکلیک راست روی دیتا گرید.
3-در قسمت Itemیک linkbuttonاضافه کنید
4-حالا دیتاگرید را به حالت اولیه برگردانید(با گزینه End Template Editingدر کلیک راست)
5-کد زیر را در قسمت aspx.csفایل خود وارد کنید:


protected void linkClk(Object s, EventArgs e)
{
string strQueryStr = "?id=" ;
Server.UrlEncode(ddlProducts.SelectedItem.Text);
Response.Redirect("WebForm2.aspx" +strQueryStr);
}

6-در قسمت htmlفایلتون در رویداد onlickاین linkbuttonنام تابع بالا را بگذارید:



<asp:LinkButton id="LinkButton1" OnClick="linkClk" runat="server">اطلاعات بیشتر</asp:LinkButton>

خوب حالا با ست کردن موارد مورد نیاز با برنامه خود میتوانید از یک لینک داخل دیتاگرید متغییری را به صفحه مورد نظر خود پاس بدید.(در اینجا مثلا از یک dropdown لیست اون متغییر خونده میشه) :wink: