请先看代码:
showatt.aspx.cn 中
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserID"] == null)
{
this.HyperLinkDown.Visible = false; //提示 “showatt”并不包含“HyperLinkDown”的定义
PanelDown.Visible = true; //提示 当前上下文中不存在名称“PanelDown”
}
else
{
HyperLinkDown.Visible = true;
PanelDown.Visible = false;
}
在showatt中,HyperLinkDown和PanelDown都是命名过的,在我的另一个页面里,这样的方法没出现这个提示。不同的是上面的这个页面中HyperLinkDown和Panel是放在datalist中的,会不会是这个问题?请问如何解决呢?谢谢!
showatt.aspx.cn 中
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserID"] == null)
{
this.HyperLinkDown.Visible = false; //提示 “showatt”并不包含“HyperLinkDown”的定义
PanelDown.Visible = true; //提示 当前上下文中不存在名称“PanelDown”
}
else
{
HyperLinkDown.Visible = true;
PanelDown.Visible = false;
}
在showatt中,HyperLinkDown和PanelDown都是命名过的,在我的另一个页面里,这样的方法没出现这个提示。不同的是上面的这个页面中HyperLinkDown和Panel是放在datalist中的,会不会是这个问题?请问如何解决呢?谢谢!
解决方案 »
- System.Net.Mail发邮件,附件一大就会造成程序假死,有没有什么简单的解决办法呢?
- 那位高手使用C#做过抓取网页栏目的链接和名称的
- 关于C#命名`
- 请问在C#中如何读取html文件的节点
- 组件注册gacutil时failure adding asembly to the cache
- @@@送分快来抢:有没有这样的web控件,像vs2005里的IDE那样实时编辑的代码着色、折叠功能
- 关于sql语句字符替换的问题
- 如何才能在Windows Form中添加效果类似于 HTML中 br 标签的东西?
- 在做一个在线系统,有点小问题,请高手指点
- 如何编码将远端oracle8i上的表保存到本地ACCESS数据库内,要C#代码
- C#如何给水晶报表帮定数据下面是我的代码!!!·不过不行那位有给我个代码也行谢谢!大哥们指点下
- 关于Dispose方法的提问
-------------------
那就是了~请问如何解决呢?
-------------
通常需要首先找到承载控件的父控件(datalist,row),然后使用findcontrol方法才找得到
请问在cs中如何用findcontrol这个方法呢?能不能写个范例
补充一个问题:
HyperLink控件是放在datalist自定义模板里的。而不是datalist的列
HTML:<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DataList ID="datalist" runat="server" RepeatColumns="1" CellPadding="3" >
<HeaderTemplate >
<asp:Label ID="lbl" runat="server" Text="Show Header"></asp:Label>
</HeaderTemplate> <ItemTemplate >
<asp:HyperLink ID="Hlink" runat="server" Text='<%#Eval("productid") %>' ></asp:HyperLink>
</ItemTemplate>
<FooterTemplate >
<asp:Label ID="lblFoot" runat="server" Text="Show Footer"></asp:Label>
</FooterTemplate>
</asp:DataList>
<asp:ListBox ID="ListBox1" runat="server" Height="272px" Width="91px"></asp:ListBox>
</div>
</form>
</body>
</html>CS:
public partial class FindControlTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SetBind(); foreach (DataListItem dli in datalist.Items)
{
HyperLink txt = dli.FindControl("Hlink") as HyperLink; //FindControl方法的使用
if (txt != null)
{
string s = txt.Text;
ListBox1.Items.Add(s);
}
}
}
}
public void SetBind()
{
string connstring = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
string sql = "select top 10 * from products";
SqlDataAdapter ada = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
ada.Fill(ds);
datalist.DataSource =ds;
datalist.DataBind();
}
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (Session["UserID"] == null)
{
从datalist1的自定义模板把HyperLinkDown这个控件.Visible = false;
//把datalist1自定义模板的hyperlinkdown设为不显示。
}
else
{
同上.Visible = true;
}