Cela me rend fou! J'essaie d'accéder à un TextArea à l'intérieur du contrôle GridView. Le TextArea est surgi quand un bouton sur un gridview est cliqué. Pour une raison quelconque, textarea.value contient toujours "".Accéder à TextArea dans GridView avec JQuery BlockUI
<asp:GridView ID="gvCategories" runat="server" AutoGenerateColumns="false"
onrowcommand="gvCategories_RowCommand">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<input type="button" value="add comment" onclick="showCommentBox()" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<div id="commentBox" style="display:none">
<input type="button" value="move comment input box" onclick="moveComment()" />
<textarea id="txtComment" rows="10" cols="30">
</textarea>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
function moveComment() {
alert(document.getElementById("txtComment").value);
}
J'ai ajouté ce code sur le côté serveur, mais la zone de texte retourne toujours ""
protected void gvCategories_RowCommand(object sender, GridViewCommandEventArgs e)
{
var row = (GridViewRow) (e.CommandSource as LinkButton).NamingContainer;
var description = (row.FindControl("txtDescription") as TextBox).Text;
lblComment.Text = description;
}
J'ai essayé! Cela ne retourne rien! – azamsharp
Je pense que c'est parce que cet ID n'est pas unique vu qu'il y en a un par ligne dans votre ItemTemplate. Vous devez ajouter un préfixe unique basé sur l'identifiant de ligne. – j0tt
Merci! En fait mon but principal est d'accéder au Text de la TextBox côté serveur. J'ai remplacé TextArea avec TextBox, mais quand la publication se produit, il renvoie "" dans la propriété TextBox.Text: –
azamsharp