hamid1988
دوشنبه 17 اسفند 1388, 22:12 عصر
با سلام!
دوستان، در یکی از پروژه هام برای نمایش و یا عدم نمایش UserControlها در بخش مدیریت از Session استفاده می کنم، بدین ترتیب که با کلیک بر روی Button، سشن مقداردهی شده و در Page_Load با بررسی مقدار Session کنترل مورد نظر رو Visible=True می کنم.
مشکلی که بهش برخوردم اینه که با یکبار کلیک بر روی Button کنترل مورد نظر نمایش نمی یابد و با کلیک دوباره (2 بار PostBack) کنترل نمایش داده می شود!
پروژه ای آزمایش را برای بررسی راهکارهای رفع مشکل برای دانلود قرار دارم، لطفاَ به پروژه یه نگاهی بندازید.
مرسی
اچ تی ام ال:
<asp:LinkButton ID="ShowDropDownList" runat="server" onclick="ShowDropDownList_Click">ShowDropDownList</asp:LinkButton><br />
<asp:LinkButton ID="ShowListBox" runat="server" onclick="ShowListBox_Click">ShowListBox</asp:LinkButton><br />
<asp:DropDownList ID="ddl" runat="server" Visible="false" >
<asp:ListItem>Item1</asp:ListItem>
<asp:ListItem>Item2</asp:ListItem>
<asp:ListItem>Item3</asp:ListItem>
<asp:ListItem>Item4</asp:ListItem>
<asp:ListItem>Item5</asp:ListItem>
<asp:ListItem>Item6</asp:ListItem>
<asp:ListItem>Item7</asp:ListItem>
<asp:ListItem>Item8</asp:ListItem>
<asp:ListItem>Item9</asp:ListItem>
<asp:ListItem>Item10</asp:ListItem>
</asp:DropDownList><br />
<asp:ListBox ID="ListBox1" runat="server" Visible="false" >
<asp:ListItem>Item1</asp:ListItem>
<asp:ListItem>Item2</asp:ListItem>
<asp:ListItem>Item3</asp:ListItem>
<asp:ListItem>Item4</asp:ListItem>
<asp:ListItem>Item5</asp:ListItem>
<asp:ListItem>Item6</asp:ListItem>
<asp:ListItem>Item7</asp:ListItem>
<asp:ListItem>Item8</asp:ListItem>
<asp:ListItem>Item9</asp:ListItem>
<asp:ListItem>Item10</asp:ListItem>
</asp:ListBox>
protected void Page_Load(object sender, EventArgs e)
{
object obj = Session["Visible"];
if (obj != null)
{
if (obj.ToString().Equals("ShowDropDownList")) { ddl.Visible = true; }
else if (obj.ToString().Equals("ShowListBox")) { ListBox1.Visible = true; }
}
}
protected void ShowDropDownList_Click(object sender, EventArgs e)
{
Session.Add("Visible", "ShowDropDownList");
}
protected void ShowListBox_Click(object sender, EventArgs e)
{
Session.Add("Visible", "ShowListBox");
}
دوستان، در یکی از پروژه هام برای نمایش و یا عدم نمایش UserControlها در بخش مدیریت از Session استفاده می کنم، بدین ترتیب که با کلیک بر روی Button، سشن مقداردهی شده و در Page_Load با بررسی مقدار Session کنترل مورد نظر رو Visible=True می کنم.
مشکلی که بهش برخوردم اینه که با یکبار کلیک بر روی Button کنترل مورد نظر نمایش نمی یابد و با کلیک دوباره (2 بار PostBack) کنترل نمایش داده می شود!
پروژه ای آزمایش را برای بررسی راهکارهای رفع مشکل برای دانلود قرار دارم، لطفاَ به پروژه یه نگاهی بندازید.
مرسی
اچ تی ام ال:
<asp:LinkButton ID="ShowDropDownList" runat="server" onclick="ShowDropDownList_Click">ShowDropDownList</asp:LinkButton><br />
<asp:LinkButton ID="ShowListBox" runat="server" onclick="ShowListBox_Click">ShowListBox</asp:LinkButton><br />
<asp:DropDownList ID="ddl" runat="server" Visible="false" >
<asp:ListItem>Item1</asp:ListItem>
<asp:ListItem>Item2</asp:ListItem>
<asp:ListItem>Item3</asp:ListItem>
<asp:ListItem>Item4</asp:ListItem>
<asp:ListItem>Item5</asp:ListItem>
<asp:ListItem>Item6</asp:ListItem>
<asp:ListItem>Item7</asp:ListItem>
<asp:ListItem>Item8</asp:ListItem>
<asp:ListItem>Item9</asp:ListItem>
<asp:ListItem>Item10</asp:ListItem>
</asp:DropDownList><br />
<asp:ListBox ID="ListBox1" runat="server" Visible="false" >
<asp:ListItem>Item1</asp:ListItem>
<asp:ListItem>Item2</asp:ListItem>
<asp:ListItem>Item3</asp:ListItem>
<asp:ListItem>Item4</asp:ListItem>
<asp:ListItem>Item5</asp:ListItem>
<asp:ListItem>Item6</asp:ListItem>
<asp:ListItem>Item7</asp:ListItem>
<asp:ListItem>Item8</asp:ListItem>
<asp:ListItem>Item9</asp:ListItem>
<asp:ListItem>Item10</asp:ListItem>
</asp:ListBox>
protected void Page_Load(object sender, EventArgs e)
{
object obj = Session["Visible"];
if (obj != null)
{
if (obj.ToString().Equals("ShowDropDownList")) { ddl.Visible = true; }
else if (obj.ToString().Equals("ShowListBox")) { ListBox1.Visible = true; }
}
}
protected void ShowDropDownList_Click(object sender, EventArgs e)
{
Session.Add("Visible", "ShowDropDownList");
}
protected void ShowListBox_Click(object sender, EventArgs e)
{
Session.Add("Visible", "ShowListBox");
}