0
我有以下電網:的UpdateCommand問題在一個TemplateField在asp.net GridView的
<asp:GridView DataSourceID="accountsDataSource" DataKeyNames="Id" ShowEditButton="true" ...>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Hyperlink ID="lnkGridEditEntry" runat="server" Text='<%# Bind("Name")%>' NavigateUrl="..." />
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtGridAccountName" runat="server" Text='<%# Bind("Name") %>' />
</EditItemTemplate>
</asp:TemplateField>
</asp:GridView>
<asp:SqlDataSource ID="accountsDataSource" SelectCommand= "..." DeleteCommand= "..." UpdateCommand="update Account set [Name][email protected] where [Id][email protected]">
<UpdateParameters>
<asp:Parameter Name="Name" />
<asp:Parameter Name="Id" />
</UpdateParameters>
</asp:SqlDataSource>
當我點擊「編輯」按鈕,並嘗試更新名稱,上面的代碼永遠不會更新名稱
當我改變名稱更新參數
<asp:ControlParameter ControlID="txtGridAccountName" Name="Name" PropertyName="Text" Type="String" />
頁面崩潰,「無法找到ControlParameter名稱控制txtGridAccountName」。我相信這是因爲模板字段中的文本框在呈現網格時顯示不同的ID(類似於ct100 $ txtGridAccountName $ ..),並且顯然未找到它。
的戶頭名被渲染爲在首位的模板場,因爲我顯示該爲紐帶,以一個細節/交易頁面。
如果我刪除模板領域和顯示名稱爲這個工程。
任何幫助解決這一問題表示讚賞。
對不起,代碼消失。我會再次編輯和編碼。 – Shankar 2009-09-14 22:40:19
這個問題本身就消失了,我什麼也沒做。我相信VS有什麼奇怪的問題。我現在可以使用ItemTemplates了。 – Shankar 2009-11-09 23:40:51