当我从页面访问用户控件时,无法在用户控件中查看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
...............
...............
有人能帮我解释为什么我的下拉列表是空的,也看不到网格视图吗。。。。
提前感谢
因为IsPostBack在一个.ascx的Page_Load中为true。因为控件是在页面上的btnShow_OClick事件中添加的,所以IsPostBack在此为true。在代码的one.ascx中检查IsPostBack的值。
请参阅用户控件的IsPostBack的定义。哪个是
"摘要:获取一个值,该值指示是否正在加载用户控件作为响应到客户端回发,或者如果是第一次加载和访问时间
退货:如果响应于客户端回发正在加载用户控件,则为true;否则为false。"