06-08-13, 01:07 AM
سويت صفحة جديدة بنفس المشروع باسم Default3.aspx
اضف webusercontrol.ascx ووضعته في مجلد جديد باسم mcontrols
اضفت له اي webusercontrol.ascx ثلاث ادوات:
Textbox
Dropdownlist
button
في ملف التكوين web.config
اضفت جملة الاتصال بقاعدة البيانات
كود :
<connectionStrings>
<add name="mystr" connectionString ="provider=microsoft.ace.oledb.12.0;data source=|datadirectory|\db.accdb"/>
</connectionStrings>كود :
Imports Microsoft.VisualBasic
Imports System.Data.OleDb
Public Module module1
Public con As New OleDbConnection(ConfigurationManager.ConnectionStrings("mystr").ConnectionString)
End Moduleفي كود الزر في webusercontrol.ascx كتبت كود الحفظ التالي:
كود :
If TextBox1.Text.Trim = "" Then Exit Sub
lbl.Visible = False
Dim cm As New OleDbCommand("insert into tb (tname,kind) values(@tname,@kind)", con)
cm.Parameters.AddWithValue("@tname", TextBox1.Text)
cm.Parameters.AddWithValue("@kind", DropDownList1.SelectedItem.ToString)
If con.State = Data.ConnectionState.Closed Then
con.Open()
End If
Try
cm.ExecuteNonQuery()
lbl.Text = TextBox1.Text & " was Saved!"
lbl.ForeColor = Drawing.Color.Green
lbl.Visible = True
If con.State = Data.ConnectionState.Open Then
con.Close()
End If
Catch ex As Exception
If con.State = Data.ConnectionState.Open Then
con.Close()
End If
Response.Write("<h3>" & Err.Description & "</h3>")
End Tryالمشكلة انه لابد من نقر كل زر على حدة لم اتمكن من الوصول للحدث من زر واحد في الصفحة الرئيسية
وفي الصفحة الرئيسية يوجد:
ضمن الوسم Form
وضعت الاتي:
كود :
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<div>
<asp:Button ID="Button1" runat="server" Text="add user control" />
</div>
<hr />
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>
<hr />
<div>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="button1" EventName="click" />
</Triggers>
</asp:UpdatePanel>وعد حدث تحميل الصفحة كتبت
كود :
If con.State = Data.ConnectionState.Open Then
con.Close()
End If
If IsPostBack Then
Dim num As Integer = CInt(ViewState("Counter"))
For i As Integer = 0 To num - 1
Dim uc1 = DirectCast(LoadControl("~\mcontrols\wuc1.ascx"), mcontrols_wuc1)
Panel1.Controls.Add(uc1)
Next
Else
ViewState("Counter") = 1
End Ifوعند زر تحميل عنصر التحكم webusercontrol.ascx
كتبت
كود :
ViewState("Counter") = CInt(ViewState("Counter")) + 1ارجو ممن لديه المعلومة كيف نصل لحدث الزر بعد تحميله الى الصفحة ان يكرمنا به.
هذه محاولتي ارجو ان تلبي ولو عشر المطلوب
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير

