我有一个FormView,它包含我想要根据用户访问权限提供给不同用户的元素。我已经在面板中包含了这些内容并对面板进行了ID,这样我就可以从后面的代码中调用它们,可能会使用FindControl进入FormView,但到目前为止还没有成功完成它。
我从未对FindControl好运,并且想知道是否有些更了解它的人可能会指出我正确的方向这里是我的代码在aspx和C#代码背后的一个例子是不工作出!
如果这有效,那么我会将条件放在此受保护的void下的有效组中,以允许这些用户访问此面板,同样对应用了权限的其他面板也是如此。
通过这种方式,我将根据我的ACL为每个用户组提供自定义FormView。但我无法理解如何正确使用FindControl。
ASPX示例:
<asp:FormView Width="100%" ID="ChangeFormFV" DefaultMode="Insert" runat="server" DataKeyNames="CAssetID" DataSourceID="UpdateSqlDataSource">
<InsertItemTemplate>
<asp:Panel runat="server" ID="ShortDescPnl" Visible="false">
</asp:Panel>
<asp:Panel runat="server" ID="LongDescPnl" Visible="false">
</asp:Panel>
<asp:Panel runat="server" ID="AddNotesPnl" Visible="false">
</asp:Panel>
<asp:Panel runat="server" ID="ManufacturerPnl" Visible="false">
</asp:Panel>
<asp:LinkButton runat="server" Text="Insert" CommandName="Insert" ID="InsertButton" CausesValidation="True" /> <asp:LinkButton runat="server" Text="Cancel" CommandName="Cancel" ID="InsertCancelButton" CausesValidation="False" />
</ItemTemplate>
C#Codebehind(不工作):
protected void ChangeFormFV_Databound(object sender, EventArgs e)
{
if (Session["SessionUType"].ToString() == "ITSec")
{
ChangeFormFV.Row.FindControl("ShortDescPnl.visiblity")="true";
}
}
感谢任何可以提供的帮助,一直在寻找参考资料并阅读我所能提供的所有帮助,但却没有从我的结果中得到我需要的东西。
答案 0 :(得分:0)
FindControl
方法返回实际控件。设置控件本身的可见性。像这样:
Panel control = ChangeFormFV.Row.FindControl("ShortDescPnl") as Panel;
if (control != null)
control.Visible = true;