C# 访问服务器端的按钮
我的代码:C# 访问服务器端的按钮,c#,asp.net,vb.net,c#-4.0,devexpress,C#,Asp.net,Vb.net,C# 4.0,Devexpress,我的代码: <dx:ASPxTreeList ID="treeList" runat = "server"> <Columns> <dx:TreeListDataColumn Name="Edit" FieldName="EditColumn"> <DataCellTemplate> <dx:ASPxButton ID="btnSample" runat="server" Text="S
<dx:ASPxTreeList ID="treeList" runat = "server">
<Columns>
<dx:TreeListDataColumn Name="Edit" FieldName="EditColumn">
<DataCellTemplate>
<dx:ASPxButton ID="btnSample" runat="server" Text="SampleText">
</dx:ASPxButton>
</DataCellTemplate>
</dx:TreeListDataColumn>
</Columns>
</dx:ASPxTreeList>
我的目标是使按钮btnSample
在Page\u Load
上对false可见。因此,我需要访问服务器端Page\u Load
事件上的btnSample
id。我不知道如何访问服务器端TrreListDataColumn
中按钮的ID
。处理事件:
此按钮将显示在每行中。您何时需要该按钮可见?您能否在开始时将其ClientVisible属性设置为false,并在必要时显示它?您需要隐藏所有行中的所有按钮还是只隐藏其中的一部分?我有另一个名为“客户端id”的列。例如,对于一些客户端id,我需要使此按钮对false可见。
btnSample
返回空值,因为在viewsource
中,id是以不同的格式生成的(即btnsampletdA、btnsampletdAB、,诸如此类等等。因此,我无法访问btnSample
控件。我尝试了一些其他的选择,比如control.clientID
,然后控件(btnsample)
也没有填充在列表中。但是treelist
之外的其他控件,如btnok
,btncancel
填充在intellisense
中,也可以访问。是否有其他方法可以访问DataCellTemplate
中的此控件。我创建了示例项目,发布的代码正常工作。您是否在没有附加条件(&&)的情况下对其进行了测试?当您删除它时,所有按钮都应该隐藏。我正在将ASPxButton按钮
作为空值发布我的cs
代码。请注意。protected void treeList_OnHtmlDataCellPrepared(对象发送方,TreeListHtmlDataCellEventArgs e){if(“EmpID”).Equals(e.Column.FieldName)和&e.CellValue.ToString()=“1”){ASPxButton button=(ASPxButton)treeList.FindDataCellTemplateControl(e.NodeKey,e.Column,“btnShowPopup”);if(button!=null)button.Visible=false;}}
非常感谢。你很好地指引我实现我的目标。首先我感谢你的耐心。正如我所预料的那样,它工作得很好。我再次感谢你出色的解决方案。伟大的
protected void TreeList_HtmlDataCellPrepared(object sender, TreeListHtmlDataCellEventArgs e)
{
int empId = (int) e.GetValue("EmpID");
if ("EditColumn".Equals(e.Column.FieldName) && empId == 1)
{
ASPxButton button = (ASPxButton) treeList.FindDataCellTemplateControl(e.NodeKey, e.Column, "btnSample");
if (button != null)
button.Visible = false;
}
}