PDA

View Full Version : ارسال اطلاعات دیتابیس به یک صفحه دیگر



kezack
پنج شنبه 25 بهمن 1386, 14:53 عصر
من می خواهم ار طریق gridview وقتی روی یک لینک توش کلیک کردم اطلاعات مربوط به اون قسمت<دیتابیس> در صفحه دیگر نمایش داده شود در باید از query string استفاده کنم ولی دقیقا نمی دانم چی باید بنویسم کسی می تواند کمکم کند

my_blithe
پنج شنبه 25 بهمن 1386, 15:20 عصر
غزیزم شما در مورد master page و ditels page در asp.net سرچ کن هزار جا توضیحش دادن.
یکی از ساده ترین و در عین حال کاربردی ترین مباحث سایت های دینامیک همین قابلیته.

my_blithe
پنج شنبه 25 بهمن 1386, 15:26 عصر
Detail درسته!!!!!!!!!!!11111

mahdi_farhani
پنج شنبه 25 بهمن 1386, 16:59 عصر
دوست عزیز ، میشه بگی سوال این دوستمون چه ربطی به Masterpage داره .
************************************************** ***
Kezack عزیز شما درست متوجه شدی باید از QueryString استفاده کنی ، اون لینکی که شما دارید باید با با استفاده از یک پارمتر ایجاد شود مثلاً
........../myData.aspx?ID=101
حالا با استفاده از دستور Eval میتونی اینکارو بکنی ، ستونی که قرار لینک درونش قرار بگیره از نوع Template فیلد قرار بده ، یک هایپر لینک توش قرار بده و مقدار nvagationurl قرار بده با یه همچین چیزی
<%# "~/mydata.aspx?Id=" +Eval("ID")%>
حالا وقتی روی لینک کلیک میکونی به این صفحه انتقال پیدا میکنه ، و در صفحه جدید با استفاده از Querystring این پارمتر بخون و اطلاعات اط دیتابیست فراخوانی کن

minoooooo
دوشنبه 09 اردیبهشت 1387, 21:39 عصر
من با استفاده ازGridView اطلاعات را در یک صفحه نمایش می دهم ومی خوام کاربر با کلیک بر روی یک لینک در GridView از جزییات آن در یک صفحه ی دیگر با خبر شود .این کار را با Querystring انجام دادم .ولی در صفحه ای که باید جزئیات نمایش داده شود ، چیزی نشان داده نمی شود.
نمیدونم مشکلش چیه؟؟

twelve
دوشنبه 09 اردیبهشت 1387, 21:54 عصر
مقدم شما به برنامه نویس گرامی!
لطفا نوشتار خودتون رو از Word کپی نکنید که این بلا سرش بیاد ، من به سختی تونستم بخونمش. (دوستانی که مشکل اکانت اینترنت و هزینه دارن میتونن بعد از باز شدن صفحه Disconnect کرده و مطالب خودشون رو بنوسن و بعد کانکت کنن و بفرستن ، به همین خوشمزگی! )

پست شما رو من تصحیح کردم :



من با استفاده از Gridview اطلاعات را در یک صفحه نمایش می دهم ومی خوام کاربر با کلیک بر روی یک لینک در Gridview از جزییات آن در یک صفحه ی دیگر با خبر شود .این کار را با Querystring انجام دادم .ولی در صفحه ای که باید جزئیات نمایش داده شود ، چیزی نشان داده نمی شود


خب شما همونطور که آقای فرهانی در پست قبل گفتند عمل کردید ؟ بهتره روش خودتون (کد ها ) رو هم ذکر کنید .

minoooooo
دوشنبه 09 اردیبهشت 1387, 23:45 عصر
بله حق با شماست.
من روش آقای فراهانی رو متوجه نشدم.یک روش دیگه استفاده کردم.اینم کدش.
همانطور که گفتم در صفحه ی دوم چیزی نشان داده نمی شود !
صفحه ی اول :

<asp:GridViewID="UserList1"runat="server"DataKeyNames="UserId"
DataSourceID="dsUserlist"AllowPaging="true"AllowSorting="true"AutoGenerateColumns="false"onselectedindexchanged="UserList1_SelectedIndexChanged1">
<Columns>
<asp:TemplateFieldHeaderText="نام کاربری">
<ItemTemplate>
<asp:LabelID="lblusername"runat="server"Text='<%# Eval("UserName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="نام">
<ItemTemplate>
<asp:LabelID="lablFirstName"runat="server"Text='<%# Eval("FirstName") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateFieldHeaderText="نام خانوادگی">
<ItemTemplate>
<asp:LabelID="lblLastName"runat="server"Text='<%# Eval("LastName")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandFieldSelectText="جزئیات"ShowSelectButton="true"/>
</Columns>
</asp:GridView>
<asp:SqlDataSourceID="dsUserlist"runat="server"ConnectionString='<%$ConnectionStrings:SecurityConnectionString %>'
SelectCommand="SELECT Tbl_Student.UserId,Tbl_Student.FirstName,Tbl_Stude nt.LastName,aspnet_Users.UserName
FROM Tbl_Student
INNER JOIN aspnet_Users ON aspnet_Users.UserId=Tbl_Student.UserId"></asp:SqlDataSource>
کدc# صفحه ی اول :
protectedvoid UserList1_SelectedIndexChanged1(object sender, EventArgs e)
{
Guid UserId1 = (Guid)UserList1.SelectedValue;
Response.Redirect("details.aspx?UserId="+UserId1);
}
صفحه ی دوم :
<asp:FormViewID="FormView1"runat="server"
DataKeyNames="UserId"DataSourceID="dsform"EnableViewState="False">
<ItemTemplate>
<p>
<asp:LabelID="AddressLabel"runat="server"Text='<%# Bind("Address") %>'></asp:Label><br/>
<asp:LabelID="CityLabel"runat="server"Text='<%# Bind("City") %>'></asp:Label>
</p>
</ItemTemplate>
</asp:FormView>
<asp:SqlDataSourceID="dsform"runat="server"ConnectionString='<%$ConnectionStrings:SecurityConnectionString %>'

SelectCommand="SELECT UserId,Address,City
FROM Tbl_Student where (UserId=@UserId)">
<SelectParameters>
<asp:QueryStringParameterName="UserId"Type="Byte"QueryStringField="UserId1"/>
</SelectParameters>
</asp:SqlDataSource>

minoooooo
سه شنبه 10 اردیبهشت 1387, 14:59 عصر
متوجه اشتباهم شدم.درست شد!!!!!!!

arsalansalar
سه شنبه 10 اردیبهشت 1387, 15:12 عصر
میشه بگی چیجوری درست شد؟
آخه منم احتیاج دارم.
من می خواهم وقتی کاربر بر روی مثلا فیلد موضوع کلیک کرد.id آن به صفحه دیگری برود.

arsalansalar
سه شنبه 10 اردیبهشت 1387, 15:24 عصر
دوست عزیز ، میشه بگی سوال این دوستمون چه ربطی به Masterpage داره .
************************************************** ***
Kezack عزیز شما درست متوجه شدی باید از QueryString استفاده کنی ، اون لینکی که شما دارید باید با با استفاده از یک پارمتر ایجاد شود مثلاً
........../myData.aspx?ID=101
حالا با استفاده از دستور Eval میتونی اینکارو بکنی ، ستونی که قرار لینک درونش قرار بگیره از نوع Template فیلد قرار بده ، یک هایپر لینک توش قرار بده و مقدار nvagationurl قرار بده با یه همچین چیزی
<%# "~/mydata.aspx?Id=" +Eval("ID")%>
حالا وقتی روی لینک کلیک میکونی به این صفحه انتقال پیدا میکنه ، و در صفحه جدید با استفاده از Querystring این پارمتر بخون و اطلاعات اط دیتابیست فراخوانی کن

این هایپر لینکی که شما فرمودید منظورتان همان کنترل هایپیر لینک هست؟
در کد زیر کجا باید این هایپر لینک وارد شود؟

<ItemTemplate>
<table style="border:0">
<tr style={color:gray;font-size:smaller;} >
<td >

<%#Container.DataItem("khti")%>-
<%#Container.DataItem("khsr")%>
</td>
</tr>
</table>
</ItemTemplate>

twelve
سه شنبه 10 اردیبهشت 1387, 15:31 عصر
بله ! جاش رو شما بای تعیین کنید اما باید در تگ <ItemTemplate> <ItemTemplate/> قرار بگیره

minoooooo
سه شنبه 10 اردیبهشت 1387, 20:38 عصر
می تونید در صفحه ی اول که GridView قرار داره یک HyperlinkField قرار بده مثل کد زیر:



<asp:HyperLinkFieldDataNavigateUrlFields="UserId"
DataNavigateUrlFormatString="details.aspx?Id={0}"text="جزئیات"/>



بعد در صفحه ی دوم که می خواهیم جزئیات را نشون بدیم (من از FormView استفاده کردم)
در قسمتی که SqlDataSource را تعریف کردیم کد زیر را وارد می کنیم.



<asp:SqlDataSourceID="dsform"runat="server"ConnectionString='<%$ConnectionStrings:SecurityConnectionString %>'
SelectCommand="SELECT UserId,FirstName,LastName
FROM Tbl_Student where (UserId=@UserId)">
<SelectParameters>
<asp:QueryStringParameterName="UserId"QueryStringField="Id"/>
</SelectParameters>
</asp:SqlDataSource>

khz-web1
دوشنبه 27 خرداد 1387, 16:30 عصر
من اینجوری بایند کردم ولی ارور می گیره ازم ....




<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
<ItemTemplate >
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl=<%# "~/default.aspx?Id=" +Eval("ID")%> ><%# Eval("title")%></asp:HyperLink>



</ItemTemplate>
</asp:Repeater>

twelve
سه شنبه 28 خرداد 1387, 02:12 صبح
باید آیتم های کوئری استرینگ رو با & جدا کنید.

khz-web1
سه شنبه 28 خرداد 1387, 17:22 عصر
میشه دقیقا بگین چجوری

Himalaya
سه شنبه 08 مرداد 1387, 15:45 عصر
سلام ... من میخوام از طریق hyperlink ای که تو صفحه دارم (نه اون هایپرلینکی که تو گرید میزارن)
یه سری اطلاعات رو بفرستم تو صفحه مقصد و حالا با اون اطلاعات تو صفحه مقصد یه سری اطلاعات از دیتابیس بخونم... با این کدها امتحان کردم نتونستم ... اگه میشه کمکم کنید ... خیلی خیلی لازمش دارم ... ممنون ...

Himalaya
چهارشنبه 09 مرداد 1387, 12:26 عصر
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="AccessDataSource1">
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" NavigateUrl='<%# "~/news page/news1.aspx?no-row=" +Eval("id")%>' runat="server" Target="_blank" Text="سلام"></asp:HyperLink>
</ItemTemplate>
</asp:Repeater>

من از کدهای بالا استفاده کردم و میخوام خاصیت text هایپرلینک رو دستی تغییر بدم ... ولی کلمه Hyperlink1
رو به من نمیده ... باید چیکار کنم ؟؟؟؟

khz-web1
چهارشنبه 09 مرداد 1387, 16:45 عصر
بین دو تگ بزاری فکر کنم حل بشه ...

Himalaya
چهارشنبه 09 مرداد 1387, 18:01 عصر
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl=<%# "~/default.aspx?Id=" +Eval("ID")%> ><%# Eval("title")%></asp:HyperLink>

با این مثالی که خودت فرستادی حل شد ... ممنون
البته تک کوتیشن های اونو هم گذاشتم ... چون در صورت نذاشتن اونا ارور میداد


<asp:HyperLink ID="HyperLink4" NavigateUrl='<%# "~/news page/news1.aspx?no-row=" +Eval("id")%>' runat="server" Target="_blank" Text='<%# Eval("head") %>'></asp:HyperLink>