c# asp.net .net imagebutton commandargument

c# - ¿Cómo pasar varios valores a través del argumento de comando en Asp.net?



imagebutton commandargument (4)

Puedes probar esto:

CommandArgument=''<%# "scrapid=" + Eval("ScrapId")+"&"+"UserId="+ Eval("UserId")%>''

Tengo el atributo ImageButton with CommandArgument que tiene varios valores de Eval. Cuando hago clic en uno de ellos, quiero pasar valores al evento ImageButton2_Click pero no funciona porque los argumentos del comando son nulos.

<div class="sag-re-icerik" id="icerik2" runat="server">Lorem ipsum dolor sit amet, consectetur commodo et convallis et, auctor viverra metus. Aenean pharetra, arcu nec viverra mollis, turpis neque feugiat massa, non dapibus neque nunc ac orci. </div> <div class="oy-verme"> <div class="yildiz"><asp:ImageButton ID="ImageButton4" runat="server" Height="19px" ImageUrl="~/images/yildiz.png" onclick="ImageButton2_Click" Width="20px" style="position: relative; top: 13px; left:6px; float:left; " commandArgument=''<%#Eval("sdasdas") + ","+Eval("fafasfa") %>'' /></div> <div class="yildiz"><asp:ImageButton ID="ImageButton5" runat="server" Height="19px" ImageUrl="~/images/yildiz.png" onclick="ImageButton5_Click" Width="20px" style="position: relative; top: 13px; left:8px; float:left;" commandArgument=''<%#Eval("row[0].ToString()") + ","+Eval("row[1].ToString()") %>''/></div> <div class="yildiz"><asp:ImageButton ID="ImageButton6" runat="server" Height="19px" ImageUrl="~/images/yildiz.png" onclick="ImageButton2_Click" Width="20px" style="position: relative; top: 13px; left:10px ; float:left; " commandArgument=''<%#Eval("row[0].ToString()") + ","+Eval("row[1].ToString()") %>'' /></div> <div class="yildiz"><asp:ImageButton ID="ImageButton3" runat="server" Height="19px" ImageUrl="~/images/yildiz.png" onclick="ImageButton2_Click" Width="20px" style="position: relative; top:13px; left:12px ; float:left;" commandArgument=''<%#Eval("row[0].ToString()") + ","+Eval("row[1].ToString()") %>'' /></div> <div class="yildiz"> <asp:ImageButton ID="ImageButton2" runat="server" Height="19px" ImageUrl="~/images/yildiz.png" onclick="ImageButton2_Click" Width="20px" style="position: relative; top: 13px; left: 14px; float:left;" commandArgument=''<%#Eval("row[0].ToString()") + ","+Eval("row[1].ToString()") %>'' /></div> <div class="oy-sil"><img src="images/oy-sil.png" width="11" height="13" style="position: relative; top: 30px; " /></div> </div> </div>

Este es el código subyacente:

protected void ImageButton2_Click(object sender, ImageClickEventArgs e) { ImageButton objImage = (ImageButton)sender; string[] commandArgs = objImage.CommandArgument.ToString().Split(new char[] { '','' }); string id = commandArgs[0]; string text = commandArgs[1]; // string s= Imageid.UniqueID.ToString(); //this.baslik2.Text = s; }


Revisé tu código y parece que no hay problema en absoluto. por favor asegúrese de que Image commandArgument obtenga valor. Verifique primero el enlace en la etiqueta si está obteniendo valor.

Sin embargo, aquí hay una muestra que estoy usando en mi proyecto.

<asp:GridView ID="GridViewUserScraps" ItemStyle-VerticalAlign="Top" AutoGenerateColumns="False" Width="100%" runat="server" OnRowCommand="GridViews_RowCommand" > <Columns> <asp:TemplateField SortExpression="SendDate"> <ItemTemplate> <asp:Button ID="btnPost" CssClass="submitButton" Text="Comment" runat="server" CommandName="Comment" CommandArgument=''<%#Eval("ScrapId")+","+ Eval("UserId")%>'' /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>

Primero unir el GridView.

public void GetData() { //bind ur GridView GridViewUserScraps.DataSource = dt; GridViewUserScraps.DataBind(); } protected void GridViews_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Comment") { string[] commandArgs = e.CommandArgument.ToString().Split(new char[] { '','' }); string scrapid = commandArgs[0]; string uid = commandArgs[1]; } }


Utilice el evento OnCommand de imagebutton. Dentro de ella hacer

<asp:Button id="Button1" Text="Click" CommandName="Something" CommandArgument="your command arg" OnCommand="CommandBtn_Click" runat="server"/>

Código detrás:

void CommandBtn_Click(Object sender, CommandEventArgs e) { switch(e.CommandName) { case "Something": // Do your code break; default: break; } }


CommandArgument=''<%#Eval("ScrapId").Tostring()+ Eval("UserId")%> //added the comment function