الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال في السيشن ونافذه popup

بدأه serious في 12 فبراير 2011 · 15 رد · 1,011 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي gridview

وبداخلها زر لعرض تفاصيل اي عنصر

واعتمدت على session لنقل قيمه خليه في الداتا قريد لمربع نص في نافذه popup

نقلت القيمه صح

لكن المشكله لا تتغير اذا اغلقت النافذه واخترت عنصر اخر

واحتاج لاغلاق البرنامج كله اذا اردت اختيار قيمه جديده

فما العمل

شاكر ومقدر لكم جهودكم

#2

عند النقر على الزر يجب اسناد قيمة جديدة للسيشن ..................... ضع الكود إن لم تحل المشكلة

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#3

السلام عليكم ورحمه الله وبركاته

يمكن تعرض كودك لأن المشكله اعتقد في تهيئه ال Session

.:: Wish to become better and better ::.

#4

rivate Sub GridView1_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView1.RowCommand

Dim currentCommand As String = e.CommandName

Dim currentRowIndex As Integer = Int32.Parse(e.CommandArgument)

Session("field1") = GridView1.Rows(currentRowIndex).Cells(7).Text

GridView1.Attributes.Add("onclick", "window.open('webform1.aspx', '', 'menubar=no,resizable=yes,height=10,width=50'); return false;")

End Sub

هذا كود انشاء السيشن

وفتح صفحة popup

وهذا كود استقبال السيشن في الصفحة الثانيه

Dim field1 As String = CType(Session.Item("field1"), String)

TextBox1.Text = field1

وضعته في حدث load للصفحة

#5

أنا لا اعمل بال في بي ولكن .............. لاأظن هنالك مشكلة بالكودج ولكن جرب الاسناد المباشر اي:

textbox1.text=session("ggg").tostring()

تم تعديل هذه المشاركة بواسطة Tammam_KD في 12 فبراير 2011 في 18:37

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#6

نفس المشكله اخي العزيز

يبدو لها اني احتاج لعمل مايشبه unload للنافذه البارزه

واعيد تحميلها في كل مره اختار عنصر جديد

حتى تأخذ القيمه الجديده للسيشن

وكن كيف افعل هذا

#7

طيب لو المشكلة مستمرة القيم التي تنقلها بالسيشن انقلها من خلال quriy String

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#8

ممكن اعرف شلون انقلها عن طريق query string

#9

طيب أنت في الصفحة الأم ........ لما تضغط على زر نفذ الكود التالي :

response.redirect("MyPage.aspx?ID=value");

MyPage.aspx هي الصفحة التي اريد الانتقال إليها وفي حالتك هي النافذة المنبثقة ..............

?ID=value هذا هو الquirystring حيث أن ID هو متحول أنا قمت بوضعه واريد اسناد قيمة له بحالتك هو المتحول الذي تريد تخزين البيانات فيه كما لو أنك تخزن في السيشن

value هي القيمة المخزنة في المتحول والتي تريد تمريرها للصفحة الثانية ............

الآن كيف تقوم باستخلاص قيمة المتحول في النافذة المنبثقة لاستخدامه في الكود الخاص بك ................

اكتب ما يلي :

string Str = request.quriyString("ID").toString();

في ما يلي request.quriyString("ID") قمت بأخذ قيمة المتحول المسمى ID والتي مررناها في quriystring

مثال عليها

myPage.aspx?ID=123Tammam

المتحول ID يحوي على القيمة 123Tammam

أرجو أن تكون قد وصلت الفكرة

قل لمن يحمل هما ****** إن همــــا لا يدوم
:rolleyes: :rolleyes: :clapping: :rolleyes: :rolleyes:

مثلا تفنى المسـرة ***** هكذا تفنى الهموم

#10

السلام عليكم ورحمه الله وبركاته

جرب هذا لحل مشكلتك بدلا من ال Session وهدر الذاكره

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

DataKeyNames="CategoryID" DataSourceID="SqlDataSource1">

<Columns>

<asp:TemplateField HeaderText="CategoryName" SortExpression="CategoryName">

<ItemTemplate>

<asp:LinkButton ID="lbDetails" runat="server" Text='<%# Eval("CategoryName") %>' OnClientClick="window.open('Details.aspx?ID=1', '', 'menubar=no,resizable=yes,height=10,width=50');"></asp:LinkButton>

<a href='#' onclick="window.open('Details.aspx?ID=<%# Eval("CategoryID") %>', '', 'menubar=no,resizable=yes,height=10,width=50');" ><%# Eval("CategoryName") %></a>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server"

ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"

SelectCommand="SELECT [CategoryID], [CategoryName] FROM [Categories]">

</asp:SqlDataSource

>

.:: Wish to become better and better ::.

#11
Tammam_KD كتب:

طيب أنت في الصفحة الأم ........ لما تضغط على زر نفذ الكود التالي :

response.redirect("MyPage.aspx?ID=value");

MyPage.aspx هي الصفحة التي اريد الانتقال إليها وفي حالتك هي النافذة المنبثقة ..............

?ID=value هذا هو الquirystring حيث أن ID هو متحول أنا قمت بوضعه واريد اسناد قيمة له بحالتك هو المتحول الذي تريد تخزين البيانات فيه كما لو أنك تخزن في السيشن

value هي القيمة المخزنة في المتحول والتي تريد تمريرها للصفحة الثانية ............

الآن كيف تقوم باستخلاص قيمة المتحول في النافذة المنبثقة لاستخدامه في الكود الخاص بك ................

اكتب ما يلي :

string Str = request.quriyString("ID").toString();

في ما يلي request.quriyString("ID") قمت بأخذ قيمة المتحول المسمى ID والتي مررناها في quriystring

مثال عليها

myPage.aspx?ID=123Tammam

المتحول ID يحوي على القيمة 123Tammam

أرجو أن تكون قد وصلت الفكرة

اولا اشكرك على التعاون والتفاعل

لكن انا استخدم كود window.open

لفتح الصفحة بمقاسات محدده

فهل يمكن استخدم طريقتك في نقل القيمه للصفحة التاليه معها

VB Helper كتب:

السلام عليكم ورحمه الله وبركاته

جرب هذا لحل مشكلتك بدلا من ال Session وهدر الذاكره

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"

DataKeyNames="CategoryID" DataSourceID="SqlDataSource1">

<Columns>

<asp:TemplateField HeaderText="CategoryName" SortExpression="CategoryName">

<ItemTemplate>

<asp:LinkButton ID="lbDetails" runat="server" Text='<%# Eval("CategoryName") %>' OnClientClick="window.open('Details.aspx?ID=1', '', 'menubar=no,resizable=yes,height=10,width=50');"></asp:LinkButton>

<a href='#' onclick="window.open('Details.aspx?ID=<%# Eval("CategoryID") %>', '', 'menubar=no,resizable=yes,height=10,width=50');" ><%# Eval("CategoryName") %></a>

</ItemTemplate>

</asp:TemplateField>

</Columns>

</asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server"

ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"

SelectCommand="SELECT [CategoryID], [CategoryName] FROM [Categories]">

</asp:SqlDataSource

>

اشكرك على الرد اخي

قاعدة البيانات التى استخدمها اكسس

والربط مع القريد فيو بالكود

فهل يمكن تطبيق طريقتك

وممكن شئ من التفصيل في شرح الكود الذي وضعتها

فضلا ليس امرا

وجزاكم الله خير

#12

السلام عليكم ورحمه الله وبركاته

هل طبقت الكود؟!! انا استخدمت ال window

<a href='#' onclick="window.open('Details.aspx?ID=<%# Eval("CategoryID") %>', '', 'menubar=no,resizable=yes,height=10,width=50');" ><%# Eval("CategoryName") %></a>

.:: Wish to become better and better ::.

#13

طيب اخوي جربت تمسح السيشن بعد الانتهاء من استخدامة عن طريق Session.Abandon

#14

اشكركم على تفاعلكم اخواني

وللعلم المشكله لم تحل لكنني قريب من الحل ان شاء الله

بس المشكله اللي ازعجتني حقا

هو انه عندي رفعي للصفحة على الموقع

واستعراض بيانات من قاعدة بيانات اكسس

تظهر على شكل رموز غير مفهومه

#15

السلام عليكم ورحمه الله وبركاته

هذه مشكله الترميز Encoding يمكنك حلها من ال Web.Config

<globalization culture="ar-SA" uiCulture="ar-SA" responseEncoding="utf-8"/>

.:: Wish to become better and better ::.

#16

السلام عليكم

اخى العزيز المشكلة بسيطه بس انت معقدة شوية

بدل ما تكون فى السيشن اعملها على Button1 او فى link Button1 اللى انت شغال علية

و الامر بسيط

 
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Delete" CommandArgument ='<%# Eval("id") %>' />

ده هيكون فى ال button اللى هتشتغل عليها و ده لما هتضغط عليه هيعطك فى command رقم الاى دى بتاعه و من خلا ل الفى بى فى الحذف اعمل شغلك كله بدل ما تاخد من السيشن خد من command

Value = CType(sender, Button).CommandArgument.ToString

يا رب يكون المثال واضح

مواضيع مشابهة