कुछ ऐसी चीजें हैं जो आप कर रहे हैं जो दोनों की आवश्यकता नहीं है और शायद आपकी समस्याएं पैदा कर रही हैं।
ये हैं:
- सत्र में नियंत्रण वस्तु स्टोर करने के लिए कोई जरूरत नहीं है।नियंत्रण को स्वयं को आवश्यक जानकारी के रूप में आवश्यक जानकारी संग्रहीत करने के लिए व्यूस्टेट और सत्र राज्य का उपयोग करना चाहिए।
- नियंत्रण बनाते समय आपको पोस्टबैक की जांच नहीं करनी चाहिए। इसे प्रत्येक बार व्यूस्टेट को काम करने की अनुमति देने के लिए बनाया जाना चाहिए और घटना को वायर्ड किया जाना चाहिए।
- व्यूस्टेट लोड होने के बाद लोड किए गए नियंत्रणों को अक्सर सही ढंग से परिचालन करने में परेशानी होती है इसलिए जहां भी संभव हो पृष्ठ लोड ईवेंट के दौरान लोड होने से बचें।
इस कोड मेरे लिए काम करता है:
Default.aspx
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="Test_User_Control._Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"><title></title></head>
<body>
<form id="form1" runat="server">
<asp:PlaceHolder ID="PlaceHolder1" runat="server" />
</form>
</body>
</html>
Default.aspx.vb
Partial Public Class _Default
Inherits System.Web.UI.Page
Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
Dim control As Control = LoadControl("~/UserControl1.ascx")
PlaceHolder1.Controls.Add(control)
End Sub
End Class
UserControl1.ascx
<%@ Control Language="vb" AutoEventWireup="false" CodeBehind="UserControl1.ascx.vb" Inherits="Test_User_Control.UserControl1" %>
<asp:Label ID="Label1" Text="Before Button Press" runat="server" />
<asp:Button ID="Button1" Text="Push me" runat="server" />
UserControl1.ascx.vb
Public Partial Class UserControl1
Inherits System.Web.UI.UserControl
Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Label1.Text = "The button has been pressed!"
End Sub
End Class
स्रोत
2008-10-14 13:35:31
प्वाइंट हंगेरी उपसर्ग के लिए स्वीकार किया गया है, भविष्य में इसे ध्यान में रखेगा। मैं नीचे एक टिप्पणी में पूरा कोड पेस्ट करने जा रहा हूँ। आपकी प्रतिक्रिया –