当我从页面访问用户控件时,无法在用户控件中查看DB中的控件值

本文关键字:控件 用户 DB 访问 | 更新日期: 2023-09-27 18:22:49

我有一个用户控件,当按钮点击时,我正在从父页面加载这个用户控件。。

在用户控制中,我有一个下拉列表和网格视图,两个数据都是以页面加载方式加载表单数据库。。。。。。

但在父页中,当我单击按钮加载用户控件时,我只能看到一个没有加载值的下拉列表(通常加载了值),也无法看到网格视图。。。。

这是我的密码。。在父页面上

 <%@ 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
         ...............
         ...............

有人能帮我解释为什么我的下拉列表是空的,也看不到网格视图吗。。。。

提前感谢

当我从页面访问用户控件时,无法在用户控件中查看DB中的控件值

因为IsPostBack在一个.ascx的Page_Load中为true。因为控件是在页面上的btnShow_OClick事件中添加的,所以IsPostBack在此为true。在代码的one.ascx中检查IsPostBack的值。

请参阅用户控件的IsPostBack的定义。哪个是

"摘要:获取一个值,该值指示是否正在加载用户控件作为响应到客户端回发,或者如果是第一次加载和访问时间

退货:如果响应于客户端回发正在加载用户控件,则为true;否则为false。"