24. februar 2006 - 00:38
Der er
11 kommentarer og 1 løsning
script callback og så updatere grid
hej, jeg har leget lidt med script callback. Jeg har en knap på min form som kalder via script callback. lige nu gør jeg bare således: private string _callbackArg; void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) { _callbackArg = eventArgument; } string ICallbackEventHandler.GetCallbackResult() { return RaiseCallbackEvent(_callbackArg); } protected virtual string RaiseCallbackEvent(string eventArgument) { Button1_Click(null, null); return "s"; } Button1_click sætter min datasource til griddet og binder, men den opdatere ikke mit grid. Hvordan får jeg den til det, hvis man altså kan
Annonceindlæg fra Axcess Nordic
24. februar 2006 - 08:49
#1
hvis den skal gøre det uden postback skal du kalde databind på gridviewet og så renderer html outputtet.
24. februar 2006 - 10:59
#2
hvordan renderer man det? Det eksempel jeg har skrevet her, sender en streng tilbage til siden, men det behøver jeg jo ikke, jeg skal blot ha mit grid opdateret og vist
24. februar 2006 - 11:02
#3
du skal returnere gridviewet som en html streng. Ellers skal du droppe clientcallback. eller du skal kigge på atlas.asp.net som er et ajax framework. Det har et updatepanell som kan klare det hele. Men det er stadigvæk i beta og anbefales ikke til sider som skal i produktion
24. februar 2006 - 11:02
#4
Jeg har selv brugt det at returnere gridviewet som en streng og det virker
24. februar 2006 - 11:09
#5
så du returnere bare gridview1.toString()? hvad gør du så i javascriptet?
24. februar 2006 - 11:10
#6
jeg gør noget andet 2 min.
24. februar 2006 - 11:13
#7
java script: <script type="text/javascript"> function ModtagResultat(rValue) { var o = rValue.split("€¤¤€¤¤€¤¤€¤¤€"); if(o[0] != null && o[0] != '') { document.getElementById('repTraeDiv').innerHTML = o[0]; } if(o[1] != null && o[1] != '') { document.getElementById('RepGridDiv').innerHTML = o[1]; } </script>
24. februar 2006 - 11:14
#8
div med gridview: <div id="RepGridDiv"> <asp:Table ID="tblRepbedommelsegridView" runat="server"> <asp:TableRow> <asp:TableCell> <b>Liste over udførte reperationsbedømmelser:</b> <!--gridview som viser de reparationsbedømmelser som der er foretaget i en kontrol--> <asp:GridView ID="RepbedommelsegridView" OnRowCreated="RepbedommelsegridView_RowCreated" AutoGenerateColumns="false" runat="server" DataKeyNames="RepBedommelseID,RepTraeNiveau3ID, FejlTekst" DataSourceID="ObjectDataRepBedommelser"> <Columns> <asp:BoundField DataField="RepBedommelseID" Visible="false" HeaderStyle-BackColor="#D4DBE2" /> <asp:BoundField DataField="RepTraeNiveau3ID" Visible="false" HeaderStyle-BackColor="#D4DBE2" /> <asp:BoundField DataField="FejlTekst" Visible="false" HeaderStyle-BackColor="#D4DBE2" /> <asp:BoundField DataField="Titel" HeaderText="Titel" HeaderStyle-BackColor="#D4DBE2" /> <asp:BoundField DataField="FejlKodeTekst" HeaderText="Bedømmelse" HeaderStyle-BackColor="#D4DBE2" /> <asp:TemplateField> <HeaderStyle BackColor="#D4DBE2"/> <HeaderTemplate>Vis</HeaderTemplate> <ItemStyle CssClass="smallbutton" /> <ItemTemplate> <input type="button" runat="server" value="Vis" id="Vis" class="smallbutton" /> </ItemTemplate> </asp:TemplateField> <asp:TemplateField> <HeaderStyle BackColor="#D4DBE2"/> <HeaderTemplate>Slet</HeaderTemplate> <ItemStyle CssClass="smallbutton" /> <ItemTemplate> <input type="button" runat="server" value="Slet" id="Slet" class="smallbutton" /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <!--objectdatasource som indeholder kontroller--> <asp:ObjectDataSource ID="ObjectDataRepBedommelser" DeleteMethod="SletRepBedommelsePunkt" runat="server" SelectMethod="HentRepBedommelseInfo" TypeName="RepBedommelse"> </asp:ObjectDataSource> </asp:TableCell> </asp:TableRow> </asp:Table> </div>
24. februar 2006 - 11:16
#9
i codebehind har jeg: //tilføj delimiter til callbackstring CallBackString += "€¤¤€¤¤€¤¤€¤¤€"; //opret ny htmltextwriter HtmlTextWriter htw = new HtmlTextWriter(sw); //render gridview RepbedommelsegridView.RenderControl(htw); //tilføj output til callbackstring CallBackString += sw.ToString(); //luk htmltextwriter htw.Flush();
24. februar 2006 - 11:18
#10
Nu er det selvfølgelig bare noget jeg har lavet. Men det kan sagtens tilpasses til dit behov.
03. februar 2007 - 18:05
#11
lig et svar
03. februar 2007 - 23:23
#12
svar
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.