編輯 - 感謝您迄今爲止的回覆,抱歉沒有明確說明問題所在。實際的標記代碼在DetailsView的C#代碼中忽略AutoGenerateEditButton
<asp:DetailsView ID="dvwSomeDetailsView" runat="server"
AutoGenerateRows="False" DataSourceID="SomeDataSourceID">
<Fields>
<asp:TemplateField HeaderText="SomeText" SortExpression="SomeText">
<EditItemTemplate>
<cc1:Editor ID="txtDescription" runat="server"
Content='<%# Bind("SomeText") %>' />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server"
Text='<%# Bind"SomeText") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ButtonType="Image" CancelImageUrl="~/img/cancel.png"
EditImageUrl="~/img/edit.png" InsertImageUrl="~/img/insert.png"
UpdateImageUrl="~/img/save.png" ShowEditButton="True" />
</asp:DetailsView>
我也不太確定是否設置ShowEditButton屬性應該被刪除,但是當我試圖這樣做,我仍然無法將其編程。
在代碼隱藏文件現在Page_Load方法我淪落至此
protected void Page_Load(object sender, EventArgs e)
{
dvwSomeDetailsView.AutoGenerateEditButton = true;
}
我想要實現的是通過在Page_Load方法改變分配我可以隱藏/顯示的編輯按鈕,但不起作用。當在標記文件中玩耍時,我可以使按鈕顯示或隱藏,但我永遠不能從代碼隱藏文件中更改它。
我也嘗試在設置屬性後顯式調用dvwSomeDetailsView.DataBind,但這也沒有奏效。重寫OnPreRender並將Page_Load方法中的代碼放入其中並沒有做任何改進。
也許我想太複雜 - 不應該有一個簡單的方法來設置編程的按鈕應該/不應該顯示?
在此先感謝您的任何意見。
Gorgsenegger
false是屬性的默認值。這些代碼和標記行不應該做任何事情。你是否修改代碼中其他任何地方的屬性? 「您在設置上述財產方面似乎沒有做任何事情」,您是什麼意思? – DaveB 2010-08-05 16:20:33