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

طريقة عمل cascading dropdownlists داخل ال formview

بدأه Islam Sayed في 26 أغسطس 2010 · 4 رد · 894 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد عمل اثنان من dropdownlists الثاني معتمد علي الاول وذلك داخل الفورم فيو ويستخدمو في ادخال البيانات

الكود :


English_Name:
<asp:TextBox ID="English_NameTextBox" runat="server"
Text='<%# Bind("English_Name") %>' />
<br />
Phone:
<asp:TextBox ID="PhoneTextBox" runat="server" Text='<%# Bind("Phone") %>' />
<br />
Mobile:
<asp:TextBox ID="MobileTextBox" runat="server" Text='<%# Bind("Mobile") %>' />
<br />
Email:
<asp:TextBox ID="EmailTextBox" runat="server" Text='<%# Bind("Email") %>' />
<br />
City:
<asp:TextBox ID="CityTextBox" runat="server" Text='<%# Bind("City") %>'
Visible="False" />
<asp:DropDownList ID="drpCity" runat="server" AutoPostBack="True"
DataSourceID="CityDataSource" DataTextField="City_Name"
DataValueField="City_ID" Height="16px" SelectedValue='<%# Bind("City") %>'
Width="123px">
<asp:ListItem Text ="Select City" Selected="True" Value="" ></asp:ListItem>
</asp:DropDownList>
<asp:SqlDataSource ID="CityDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:TestConnectionString %>"
SelectCommand="SELECT * FROM [Egy_Cities]"></asp:SqlDataSource>
<br />
Zone:
<asp:TextBox ID="ZoneTextBox" runat="server" Text='<%# Bind("Zone") %>'
Visible="False" />
<asp:DropDownList ID="drpZone" runat="server" DataSourceID="ZoneDataSource"
DataTextField="Zone" DataValueField="Zone_ID" Height="18px"
SelectedValue='<%# Bind("Zone") %>' Width="115px">
</asp:DropDownList>
<asp:SqlDataSource ID="ZoneDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:TestConnectionString %>"
SelectCommand="SELECT * FROM [Zones] WHERE ([CityID_FK] = @CityID_FK)">
<SelectParameters>
<asp:ControlParameter ControlID="drpCity" Name="CityID_FK"
PropertyName="SelectedValue" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Insert" />
 <asp:LinkButton ID="InsertCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</InsertItemTemplate>
   <InsertItemTemplate>

والخطاء الذي يظهر هو

Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.

تم تعديل هذه المشاركة بواسطة Islam Sayed في 26 أغسطس 2010 في 03:22

#2

شكراَ اخي X-File علي اهتمامك بالمشكلة وسرعة استجابتك للموضوع

انا ارفقت الصفحة وقاعدة البيانات داخل هذ الرابط

http://www.4shared.com/file/QyJZp2BE/App.html

#3

هذا هو مخطط قاعدة البيانات الموجوده بالمثال

post-233049-007394600 1282925357_thumb.p

المرفقات
dbDiagram.png
#4

السلام عليكم ورحمة الله

الحل فى خطوات :

- نلغى الخاصية SelectedValue من كود DropDownlist . وأقصد الأداة الثانية . ليكون على هذا الحال /

<asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource2" DataTextField="Zone" DataValueField="Zone_ID" >
    </asp:DropDownList>

2- نضيف الحدث التالى للأدة FormView وهو ItemInserting وذلك لإعطاء قيمة Paramter وهو Zone المطلوب فى عملية إدخال البيانات وتكون كتالى :

Protected Sub FormView1_ItemInserting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.FormViewInsertEventArgs) Handles FormView1.ItemInserting
        Dim dzone As DropDownList = CType(FormView1.FindControl("DropDownList2"), DropDownList)
        If (dzone IsNot Nothing) Then
            e.Values("Zone") = dzone.SelectedValue
        End If
    End Sub

للعلم تمت التجربة وتم إدخال البيانات دون ادنى مشكلة . بالتوفيق إن شاء الله .

تم تعديل هذه المشاركة بواسطة Ahmed Moosa في 28 أغسطس 2010 في 00:03

Ahmed Moosa

Microsoft Community Contributor | MCC

Microsoft Certified Professional Developer | MCPD

Microsoft Certified Technology Specialist | MCTS

Senior .NET Developer

.Net Trainer

English blog : http://weblogs.asp.net/ahmedmoosa/

مدونة عربى : http://ahmedmoosa.wordpress.com/

#5

انا عاجز عن الشكر اخي احمد موسي

ربنا يجزيك خير ان شاء الله

فعلا الحل الذي قدمتة شغال 100% والبيانات دخلت سليمة للجدول

بس انا اسف علي التتقيل

ممكن اعرف سبب المشكله ليه عملت كده مع العلم اتها كانت شغالة علي الصفحة مباشرة هل السبب في FormView؟ولماذا؟

ولكم جزيل الشكر

اسف علي الإطاله

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