我有一個簡單的事情,我已經做了像百萬次,但這次,我不能。無法更改CodeBehind中的LinkButtons的屬性
我了LinkButton在我的GridView像
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="GVCon_TFEdit" runat="server" CssClass="eh_label_style" CommandArgument="Edit" CommandName="Edit" Text="Edit"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
而那些我有六次。 Allways one Edit和一個Delete-LinkButton。
然後我嘗試在5號線改變它們的可見的代碼隱藏(如果我把它註釋掉,然後在6等):
1 protected void Page_PreRenderComplete(object sender, EventArgs e)
2 {
3 if (Session["Permissions"].ToString() == "User")
4 {
5 GVComp_TFDelete.Visible = false;
6 GVComp_TFEdit.Visible = false;
7 GVCon_TFDelete.Visible = false;
8 GVCon_TFEdit.Visible = false;
9 GVMatr_TFDelete.Visible = false;
10 GVMatr_TFEdit.Visible = false;
但永諾帶給我的goodknown例外:
操作無效由於對象的當前狀態
嗯 - 我敢肯定,對象的心不是空那裏了?! (和會話[「權限」]當然不是空,因爲它正在預加載狀態...)
也許我不得不告訴你更多,因爲我有問題與那些LinkButtons bevore ^^ 所以 - 在那些TemplateFields中我有完全相同的LinkButtons,然後我改變了那些LB的名稱,從那時起我就無法在CodeBehind中使用它們。 這是因爲他們werent在設計器文件了... 所以我嘗試了很多技巧,我發現在inet evrywhere,也從這裏提示 - 但他們沒有工作(如重建設計器文件,將LinkButtons新寫入aspx-文件也我確保該文件在正確的文件夾等...)沒有工作。 所以我將它們手動添加到designer.cs中。現在我可以在CodeBehind中「使用」它們,但是當我開始調試時 - 它會遇到這個錯誤。
將是非常好的,如果你能幫助我,這是很討厭......
順便說一下告訴我,如果你需要更多的代碼也找到
RowCommand
事件! – DatRid