Avatar billede c-sharp Nybegynder
07. februar 2007 - 15:35 Der er 10 kommentarer og
1 løsning

Hjælp til CommandArgument i forbindelse med DataGrid

Jeg har et DataGrid hvor i jeg har diverse knapper, jeg har håndteret det at man trykker på knapperne, men jeg har lidt problemer med at få et CommandArgument fra datagrid'et. Kan ikke finde nogen steder at sætte den CommandArgument



eks:
...
<Columns>
<asp:ButtonField  Text="Stamdata"  CommandName="test" >
            <ItemStyle Width="60px" />
        </asp:ButtonField>
</Columns>
...



protected void gridView_OnRowCommand(object sender, GridViewCommandEventArgs e)
{    {

switch (e.CommandName)
        {
....
Avatar billede dr_chaos Nybegynder
08. februar 2007 - 07:45 #1
Du kan kun gøre det i en template column
<asp:TemplateColumn HeaderText="Add/Remove">
                <ItemTemplate>
                    <asp:LinkButton ID=AddButton Text="Add" CommandArgument="Hej" CommandName="test" ForeColor="blue" runat="server" />&nbsp;
                </ItemTemplate>
            </asp:TemplateColumn>
Avatar billede c-sharp Nybegynder
08. februar 2007 - 08:26 #2
Takker mange gange!! Smid et svar så er der point :)
Avatar billede c-sharp Nybegynder
08. februar 2007 - 08:44 #3
Hov lige en lille ting mere, en af mine knapper er en imagebutton og når jeg bruger den som du har beskrevet får jeg følgende fejl:

Invalid postback or callback argument.  Event validation is enabled using <pages enableEventValidation="true"/> in configuration or <%@ Page EnableEventValidation="true" %> in a page.  For security purposes, this feature verifies that arguments to postback or callback events originate from the server control that originally rendered them.  If the data is valid and expected, use the ClientScriptManager.RegisterForEventValidation method in order to register the postback or callback data for validation.


Det fatter jeg ikke rigtig for det virker fint med den linkbutton :/ og jeg er ikke så vil med at de aktivere den "enableEventValidation"
Avatar billede dr_chaos Nybegynder
08. februar 2007 - 09:46 #4
du har måske et <> for meget et eller andet sted og svar :)
Avatar billede dr_chaos Nybegynder
08. februar 2007 - 09:46 #5
eller noget andet html tag agtigt
Avatar billede snepnet Nybegynder
08. februar 2007 - 21:41 #6
Må vi se din template som den ser ud med din imagebutton?
Mvh
Avatar billede c-sharp Nybegynder
09. februar 2007 - 07:53 #7
Den ser sådan her ud:

<asp:TemplateField>           
            <ItemTemplate>
                <asp:ImageButton ID="loginSomBruger" ImageUrl="~/admin/images/lup.gif" AlternateText="Log ind som bruger" CommandName="login" CommandArgument='<%#DataBinder.Eval(Container.DataItem, "brugerid") %>' runat="server" />
            </ItemTemplate>
            <ItemStyle Width="40px" />                   
        </asp:TemplateField>

Hvis jeg laver den om til en linkbutton virker det fint :/
Avatar billede dr_chaos Nybegynder
09. februar 2007 - 15:53 #8
du kan bare gøre sådan her:
CommandArgument='<%# Eval("brugerid") %>'

Det løser nok ikke dit problem.
Umiddelbart kan jeg ikke se at der er noget galt.
Avatar billede c-sharp Nybegynder
14. februar 2007 - 09:31 #9
Er der mere hjælp her :)
Avatar billede c-sharp Nybegynder
14. februar 2007 - 10:51 #10
Jeg fandt ud af det, problemet var jeg jeg fyldte data i mit GridView i page_load for hvert postback. Det ændrede jeg så jeg kun fyder data i GridViewet når der skal laves noget aktivt med det.
Avatar billede dr_chaos Nybegynder
15. februar 2007 - 07:49 #11
hehe.
Jeg bruger ofte onDatabinding. Til at fylde data i mine gridviews
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester