Note that there are some explanatory texts on larger screens.

plurals
  1. PODoes not appear to be emitting correct GridView markup for __doPostBack
    primarykey
    data
    text
    <p>I asked <a href="https://stackoverflow.com/questions/4852474/asp-net-gridview-update-button-fires-edit-event-handler">this question</a> regarding a strange behaviour from a GridView control in ASP.Net (I'm using C#).</p> <p>For each row in my GridView there is an an 'Edit' and 'Delete' link. The edit for example has this <code>javascript:__doPostBack('gvwServers','Edit$0')</code> - So obviously the server is going to figure out someone has clicked to edit row <code>0</code> of <code>gvwServers</code>.</p> <p>Fair enough. If I click the Edit link I get a postback and the GridView is redrawn with the Edit button replaced with an 'Update' and 'Cancel' button. Standard behaviour. NOW - The 'Cancel' button has this link <code>javascript:__doPostBack('gvwServers','Cancel$0')</code> - just what I would expect Cancel row <code>0</code> of <code>gvwServers</code>. BUT The Update button has <code>javascript:__doPostBack('gvwServers$ctl02$ctl00','')</code>. This appears to not make any sense. And this appears to be the cause of my routine to handle Update not being fired.</p> <p>Why is ASP not outputting the correct postback arguments?</p> <p>My code is available at the link above.</p> <pre><code>&lt;asp:GridView ID="gvwServers" runat="server" class="gvwServers" AutoGenerateColumns="false" OnRowEditing="gvwServers_Edit" onrowcancelingedit="gvwServers_Cancelling" onrowdeleting="gvwServers_Deleting" onrowupdated="gvwServers_Updated" onrowupdating="gvwServers_Updating" AutoGenerateEditButton=true AutoGenerateDeleteButton=true&gt; &lt;columns&gt; &lt;asp:CommandField ShowEditButton="true" /&gt; &lt;asp:CommandField ShowDeleteButton="true" /&gt; &lt;asp:BoundField DataField="intServerID" visible="false" /&gt; &lt;asp:TemplateField HeaderText = "Server Name"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblServerName" runat="server" Text='&lt;%# Bind("txtName") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtServerName_Edit" runat="server" Text='&lt;%# Bind("txtName") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText = "Key"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblAppKey" runat="server" Text='&lt;%# Bind("txtApplicationKey") %&gt;'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox ID="txtAppKey_Edit" runat="server" Text='&lt;%# Bind("txtApplicationKey") %&gt;'&gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;asp:TemplateField HeaderText = "Connection String"&gt; &lt;ItemTemplate&gt; &lt;asp:Label ID="lblConnString" runat="server" Text='************'&gt;&lt;/asp:Label&gt; &lt;/ItemTemplate&gt; &lt;EditItemTemplate&gt; &lt;asp:TextBox runat="server" ID="txtConnString_Edit" Width="300px" Height="100px" Text='&lt;%# Bind("txtConnectionString")%&gt;' TextMode="MultiLine" &gt;&lt;/asp:TextBox&gt; &lt;/EditItemTemplate&gt; &lt;/asp:TemplateField&gt; &lt;/columns&gt; &lt;/asp:GridView&gt; </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload