我試圖訪問內部的GridView定位服務器的控制,但我沒有想法怎麼做.. 這裏是我的嘗試:如何獲取GridView中的服務器控件ID?
<asp:GridView ....
.....
<Columns>
<asp:TemplateField>
...
..
<EditItemTemplate>
<asp:TextBox ID="txtName"runat="server" Text='<%# Bind("Name") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="edit" ItemStyle-CssClass="td"
HeaderStyle-CssClass="listtitle">
<ItemTemplate>
<asp:ImageButton ID="btnEdit" runat="server" CommandName="Edit"
AlternateText="edit" ImageUrl="~/css/images/edit-icon.png" />
</ItemTemplate>
<EditItemTemplate>
<asp:LinkButton ID="btnUpdate" runat="server" CommandName="Update" Text="Save"
OnClientClick="javascript:return isValid('<%= txtName.ClientID%>')" /> |
<asp:LinkButton ID="btnCancel" runat="server"
CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
</asp:TemplateField>
...
..
</Columns>
.....
....
</asp:GridView>
的問題是在這裏
OnClientClick="javascript:return isValid('<%= txtName.ClientID%>')"
當它到達isValid函數時,我看到字符串「<%= txtName.ClientID%>」,而不是實際的控制器ID,因爲我應該...
所以問題是我該如何發送id到JS腳本?
ibram,很好的解決方案。但是你錯過了edititemtemplate部分 – naveen 2011-05-29 07:17:01