8 个解决方案
#1
你添加的必须说明成protected,不能是private
因为ASPX实际上是.vb中类的子类,所以必须让子类能够访问
因为ASPX实际上是.vb中类的子类,所以必须让子类能够访问
#2
是的,我添加的说明是protected的
aspx:
<asp:TemplateColumn HeaderText="是否提交">
<ItemTemplate>
<asp:Label runat="server" ID="Label1" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="is_submited" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
aspx.vb:
Protected WithEvents is_submited As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
不过就是说我没有实例,实在看不出哪里不对劲,活见鬼了真是。
aspx:
<asp:TemplateColumn HeaderText="是否提交">
<ItemTemplate>
<asp:Label runat="server" ID="Label1" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="is_submited" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
aspx.vb:
Protected WithEvents is_submited As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
不过就是说我没有实例,实在看不出哪里不对劲,活见鬼了真是。
#3
明白了,这里面的东西是循环产生的,所以ID会被换掉(因为不能保证唯一),你可以在客户端打开HTML,看看ID被换成了什么,一般是在前面加上父容器的ID
#4
这位大哥,真是不好意思,父容器的是datagrid,可是父容器的属性里找不到属于label的id,还有这个页面就是因为不能加载到实例,所以不能显示,还有什么办法没有?谢谢了!
#5
你把代码中使用这个ID的地方删掉
要使用添加的控件,你必须在父容器的Controls属性中获取
要使用添加的控件,你必须在父容器的Controls属性中获取
#6
你说对了,他的id显示是循环的,id="DataGrid1__ctl2_Label1",id="DataGrid1__ctl3_Label1",、、、、那不是没法判断了?
#7
例如你的DataGrid叫DataGrid1
DataGrid1.Items[0].Controls[0]应该是第0行的Label控件
DataGrid1.Items[0].Controls[0]应该是第0行的TextBox控件
你可以用编码的方式在运行期获取某一行的Label和TextBox的实例
DataGrid1.Items[0].Controls[0]应该是第0行的Label控件
DataGrid1.Items[0].Controls[0]应该是第0行的TextBox控件
你可以用编码的方式在运行期获取某一行的Label和TextBox的实例
#8
其实,我的本意只是这样:在数据显示以后我再多加了一列超级链接列,不过是这样,我要根据datagrid前面其中一列的值来判断这列加上去的超级链接列是不是有效,比如,datagrid一行数据里面,其中一字段是0,则这列超级链接列无效,如果是1,则超级链接有效。
然后我现在是把要判断的这列和超级链接列都做成了模板列。到aspx.vb里面去设置超级链接列的enabled的属性。
然后我现在是把要判断的这列和超级链接列都做成了模板列。到aspx.vb里面去设置超级链接列的enabled的属性。
#1
你添加的必须说明成protected,不能是private
因为ASPX实际上是.vb中类的子类,所以必须让子类能够访问
因为ASPX实际上是.vb中类的子类,所以必须让子类能够访问
#2
是的,我添加的说明是protected的
aspx:
<asp:TemplateColumn HeaderText="是否提交">
<ItemTemplate>
<asp:Label runat="server" ID="Label1" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="is_submited" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
aspx.vb:
Protected WithEvents is_submited As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
不过就是说我没有实例,实在看不出哪里不对劲,活见鬼了真是。
aspx:
<asp:TemplateColumn HeaderText="是否提交">
<ItemTemplate>
<asp:Label runat="server" ID="Label1" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="is_submited" CssClass="class1" Text='<%# DataBinder.Eval(Container, "DataItem.is_submit") %>'>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
aspx.vb:
Protected WithEvents is_submited As System.Web.UI.WebControls.Label
Protected WithEvents Label1 As System.Web.UI.WebControls.Label
不过就是说我没有实例,实在看不出哪里不对劲,活见鬼了真是。
#3
明白了,这里面的东西是循环产生的,所以ID会被换掉(因为不能保证唯一),你可以在客户端打开HTML,看看ID被换成了什么,一般是在前面加上父容器的ID
#4
这位大哥,真是不好意思,父容器的是datagrid,可是父容器的属性里找不到属于label的id,还有这个页面就是因为不能加载到实例,所以不能显示,还有什么办法没有?谢谢了!
#5
你把代码中使用这个ID的地方删掉
要使用添加的控件,你必须在父容器的Controls属性中获取
要使用添加的控件,你必须在父容器的Controls属性中获取
#6
你说对了,他的id显示是循环的,id="DataGrid1__ctl2_Label1",id="DataGrid1__ctl3_Label1",、、、、那不是没法判断了?
#7
例如你的DataGrid叫DataGrid1
DataGrid1.Items[0].Controls[0]应该是第0行的Label控件
DataGrid1.Items[0].Controls[0]应该是第0行的TextBox控件
你可以用编码的方式在运行期获取某一行的Label和TextBox的实例
DataGrid1.Items[0].Controls[0]应该是第0行的Label控件
DataGrid1.Items[0].Controls[0]应该是第0行的TextBox控件
你可以用编码的方式在运行期获取某一行的Label和TextBox的实例
#8
其实,我的本意只是这样:在数据显示以后我再多加了一列超级链接列,不过是这样,我要根据datagrid前面其中一列的值来判断这列加上去的超级链接列是不是有效,比如,datagrid一行数据里面,其中一字段是0,则这列超级链接列无效,如果是1,则超级链接有效。
然后我现在是把要判断的这列和超级链接列都做成了模板列。到aspx.vb里面去设置超级链接列的enabled的属性。
然后我现在是把要判断的这列和超级链接列都做成了模板列。到aspx.vb里面去设置超级链接列的enabled的属性。