【发布时间】:2016-08-15 15:21:22
【问题描述】:
我有一个 FormView,其中包含我希望根据用户访问权限提供给不同用户的元素。我已经将这些中的每一个都封装在一个面板中并为面板添加了 ID,以便我可以从可能使用 FindControl 钻入 FormView 的代码中调用它们,但到目前为止还没有成功。
我从来没有在 FindControl 上获得过多少运气,我想知道你们中的一些了解它的人是否可以为我指明正确的方向 这里是我在 aspx 上的代码示例,而背后的 C# 代码不起作用出去!
如果这正常工作,那么我会在此面板的此受保护空白下为有效组放置条件,以允许这些用户访问此面板,并同样对应用了权限的其他面板执行相同操作。
通过这种方式,我将根据我的 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# 代码隐藏(不工作):
protected void ChangeFormFV_Databound(object sender, EventArgs e)
{
if (Session["SessionUType"].ToString() == "ITSec")
{
ChangeFormFV.Row.FindControl("ShortDescPnl.visiblity")="true";
}
}
感谢可以提供的任何帮助,我一直在搜索参考资料并阅读所有我能阅读的内容,但只是没有从我的结果中得到我需要的东西。
【问题讨论】: