我有一个用户控件,当点击按钮时,我从父页面加载此用户控件。
在用户控件中我有一个下拉列表和网格视图,这两个数据都是在页面加载方法中加载表单数据库......
但是在父页面中,当我点击按钮加载用户控件时,我只能看到一个没有加载值的下拉列表(通常它加载了值)并且无法看到网格视图还是......
这是我的代码..在父页面
<%@ Page Language="C#" MasterPageFile="~/MasterPages/template.master" AutoEventWireup="true" CodeFile="ViewCertificateMaster.aspx.cs" Inherits="Pages_ViewCertificateMaster" %>
<%@ Register Src="../Controls/one.ascx" TagPrefix="uc1" TagName="one" %>
和代码隐藏文件
protected void btnShow_OnClick(object sender, EventArgs e)
{
int selectedItem = ddlProductType.SelectedIndex;
switch (selectedItem)
{
case 0:
UserControl myUsrControl = (UserControl)Page.LoadControl("../Controls/one.ascx");
divViewMyCerts.Controls.Add(myUsrControl);
divViewMyCerts.Visible = true;
break;
....................
..................
..................
code
在文件后面的one.ascx代码中......
protected void Page_Load(object sender, EventArgs e)
{
string remoteUser = ((UserInfo)Session["USER_INFO"]).GetUserEmail();
intAcctId = ((UserInfo)Session["USER_INFO"]).GetUserAcctId();
objCert = new Certificate();
if (!IsPostBack)
{
.............
here I am binding the grid view and drop down list values from DB
...............
...............
请问任何人请帮忙解决这个问题,为什么我会得到空的下拉列表,而且也无法看到网格视图......
非常感谢提前
答案 0 :(得分:0)
因为IsPostBack在one.ascx的Page_Load中为真。由于控件是在页面的btnShow_OnClick事件中添加的,因此IsPostBack为true。检查代码中one.ascx中IsPostBack的值。
请参阅用户控件的IsPostBack定义。这是
&#34;总结: 获取一个值,该值指示是否正在加载用户控件作为响应 到客户端回发,或者是第一次加载和访问它 时间。
返回: 如果正在加载用户控件以响应客户端回发,则为true;否则为false。 否则,假。&#34;