Solved

DetailsView doesn't update in AJAX update panel

Posted on 2008-11-03
6
660 Views
Last Modified: 2012-05-05
Hi,

I have a GridView, DetailsView and ObjectDataSource, all wrapped up in an AJAX update panel

Now, when I remove it from the update panel and just have those 3 elements on their own, the edit works perfectly

When I place these items within an update panel, when I go to save changes (by clicking "Save" on the detailsView), nothing happens - no code runs, no error messages come up, it doesn't even enter the update routine in my objectdatasource.  

The only difference between the two scenarios is that one is in an AJAX update panel and one isn't


<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"

                                DataSourceID="odsItem" Height="50px" Width="278px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3">

                                <FooterStyle BackColor="White" ForeColor="#000066" />

                                <RowStyle ForeColor="#000066" />

                                <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />

                                <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />

                                <EditRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />

                                <Fields>

                                    <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />

                                    <asp:BoundField DataField="DataTitle" HeaderText="DataTitle" SortExpression="DataTitle" />

                                    <asp:BoundField DataField="Forename" HeaderText="Forename" SortExpression="Forename" />

                                    <asp:BoundField DataField="Surname" HeaderText="Surname" SortExpression="Surname" />

                                    <asp:BoundField DataField="Honours" HeaderText="Honours" SortExpression="Honours" />

                                    <asp:BoundField DataField="BusinessPrefix" HeaderText="BusinessPrefix" SortExpression="BusinessPrefix" />

                                    <asp:BoundField DataField="Premises" HeaderText="Premises" SortExpression="Premises" />

                                    <asp:BoundField DataField="Throughfare" HeaderText="Throughfare" SortExpression="Throughfare" />

                                    <asp:BoundField DataField="Locality" HeaderText="Locality" SortExpression="Locality" />

                                    <asp:BoundField DataField="Postcode" HeaderText="Postcode" SortExpression="Postcode" />

                                    <asp:BoundField DataField="TelephoneNumber" HeaderText="TelephoneNumber" SortExpression="TelephoneNumber" />

                                    <asp:CommandField ShowEditButton="True" />

                                </Fields>

                            </asp:DetailsView>

                            <asp:ObjectDataSource ID="odsItem" runat="server" 

                                OldValuesParameterFormatString="original_{0}" SelectMethod="GetDataItem" TypeName="Data999Mgr"

                                UpdateMethod="UpdateItem">

                                <UpdateParameters>

                                    <asp:Parameter Name="ID" Type="Int32" />

                                    <asp:Parameter Name="TelephoneNumber" Type="String" />

                                    <asp:Parameter Name="DataTitle" Type="String" />

                                    <asp:Parameter Name="Forename" Type="String" />

                                    <asp:Parameter Name="Surname" Type="String" />

                                    <asp:Parameter Name="Honours" Type="String" />

                                    <asp:Parameter Name="BusinessPrefix" Type="String" />

                                    <asp:Parameter Name="Premises" Type="String" />

                                    <asp:Parameter Name="Throughfare" Type="String" />

                                    <asp:Parameter Name="Locality" Type="String" />

                                    <asp:Parameter Name="Postcode" Type="String" />

                                </UpdateParameters>

                                <SelectParameters>

                                    <asp:ControlParameter ControlID="GridView1" Name="_id" PropertyName="SelectedValue"

                                        Type="String" />

                                </SelectParameters>

                                

                            </asp:ObjectDataSource>

Open in new window

0
Comment
Question by:krapvag
  • 3
  • 3
6 Comments
 
LVL 1

Author Comment

by:krapvag
ID: 22868174
*** UPDATE ***

I've just noticed that when I attempt to save the changes, the page is validating form items on an InsertForm.

These controls are sitting within an AJAX Toolkit TabPanel

0
 
LVL 18

Expert Comment

by:David Robitaille
ID: 22868222
it look like a trigger problem.
could you include the code WITH the update panel so i oculd see how you defined it?
by the way, it s better to dont use 1 big update pannel, use 2 instead , one for the GridView, one for the DetailsView.
you could then set the GridView to "update" the DetailsView in the select event...
0
 
LVL 18

Accepted Solution

by:
David Robitaille earned 250 total points
ID: 22868265
you could use validation group to trigger the validation of the correct group of countrols.
0
3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

 
LVL 1

Author Comment

by:krapvag
ID: 22868275
Hi,

Don't know if you have seen my follow up comment, but it works when I make the FormView frmInsData not visible (this means that when I click "Save" it is not running the RequiredField validators set up

Also, thanks for the tip.  I'm still pretty new to AJAX and .net so apologies for the scruffy code!
    <ajaxToolkit:ToolkitScriptManager runat="server" ID="ScriptManager1" />

    <ajaxToolkit:TabContainer runat="server" ID="Tabs" ActiveTabIndex="1">

        <ajaxToolkit:TabPanel runat="server" ID="tbAdd" HeaderText="View Current Records">

            <ContentTemplate>

                <asp:Panel ID="pnlCurData" runat="server">

                    <asp:UpdatePanel ID="uplData" runat="server">

                        <ContentTemplate>

                                Filter Telephone:<asp:TextBox AutoPostBack="true" ID="txtTelephone" runat="server"></asp:TextBox><br />

                            <asp:ObjectDataSource ID="odsData" runat="server" 

                                SelectMethod="GetData" DeleteMethod="DeleteData" InsertMethod="AddData" TypeName="Data999Mgr">

                                <SelectParameters>

                                    <asp:ControlParameter ControlID="txtTelephone" Name="telNumber" PropertyName="Text"

                                        Type="String" />

                                </SelectParameters>

                                <DeleteParameters>

                                    <asp:Parameter Name="ID" Type="int32" />

                                </DeleteParameters>

                            </asp:ObjectDataSource>

                            <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AutoGenerateColumns="False"

                                AllowSorting="True" DataSourceID="odsData" CellPadding="4" ForeColor="#333333"

                                GridLines="None" DataKeyNames="ID" OnRowDeleted="GridView1_RowDeleted">

                                <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

                                <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />

                                <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />

                                <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />

                                <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />

                                <EditRowStyle BackColor="#999999" />

                                <AlternatingRowStyle BackColor="White" ForeColor="#284775" />

                                <Columns>

                                    <asp:TemplateField HeaderText="Added By" SortExpression="addedBy">

                                        <ItemTemplate>

                                            <asp:Label ID="lbladdedBy" runat="server"><%# Eval("addedBy") %></asp:Label>

                                        </ItemTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Telephone Number" SortExpression="TelephoneNumber">

                                        <ItemTemplate>

                                            <asp:Label ID="lblTelephone" runat="server"><%# Eval("TelephoneNumber") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtTelephone" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="DataTitle" SortExpression="DataTitle">

                                        <ItemTemplate>

                                            <asp:Label ID="lblDataTitle" runat="server"><%# Eval("DataTitle") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox runat="server" ID="txtDataTitle"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Forename" SortExpression="Forename">

                                        <ItemTemplate>

                                            <asp:Label ID="lblForename" runat="server"><%# Eval("Forename") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtForename" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Surname" SortExpression="Surname">

                                        <ItemTemplate>

                                            <asp:Label ID="lblSurname" runat="server"></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtSurname" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Honours" SortExpression="Honours">

                                        <ItemTemplate>

                                            <asp:Label ID="lblHonours" runat="server"><%# Eval("Honours") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtHonours" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Prefix" SortExpression="BusinessPrefix">

                                        <ItemTemplate>

                                            <asp:Label ID="lblBusinessPrefix" runat="server"><%# Eval("BusinessPrefix") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtBusinessPrefix" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Premises" SortExpression="Premises">

                                        <ItemTemplate>

                                            <asp:Label ID="lblPremises" runat="server"><%# Eval("Premises") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtPremises" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Throughfare" SortExpression="Throughfare">

                                        <ItemTemplate>

                                            <asp:Label ID="lblThroughfare" runat="server"><%# Eval("Throughfare") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtThroughfare" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Locality" SortExpression="Locality">

                                        <ItemTemplate>

                                            <asp:Label ID="lblLocality" runat="server"><%# Eval("Locality") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtLocality" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:TemplateField HeaderText="Postcode" SortExpression="Postcode">

                                        <ItemTemplate>

                                            <asp:Label ID="lblPostcode" runat="server"><%# Eval("Postcode") %></asp:Label>

                                        </ItemTemplate>

                                        <FooterTemplate>

                                            <asp:TextBox ID="txtPostcode" runat="server"></asp:TextBox>

                                        </FooterTemplate>

                                    </asp:TemplateField>

                                    <asp:CommandField ShowDeleteButton="true" />

                                    <asp:CommandField ShowSelectButton="True" />

                                </Columns>

                            </asp:GridView>

                            <asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"

                                DataSourceID="odsItem" Height="50px" Width="278px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3">

                                <FooterStyle BackColor="White" ForeColor="#000066" />

                                <RowStyle ForeColor="#000066" />

                                <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />

                                <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />

                                <EditRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />

                                <Fields>

                                    <asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />

                                    <asp:BoundField DataField="DataTitle" HeaderText="DataTitle" SortExpression="DataTitle" />

                                    <asp:BoundField DataField="Forename" HeaderText="Forename" SortExpression="Forename" />

                                    <asp:BoundField DataField="Surname" HeaderText="Surname" SortExpression="Surname" />

                                    <asp:BoundField DataField="Honours" HeaderText="Honours" SortExpression="Honours" />

                                    <asp:BoundField DataField="BusinessPrefix" HeaderText="BusinessPrefix" SortExpression="BusinessPrefix" />

                                    <asp:BoundField DataField="Premises" HeaderText="Premises" SortExpression="Premises" />

                                    <asp:BoundField DataField="Throughfare" HeaderText="Throughfare" SortExpression="Throughfare" />

                                    <asp:BoundField DataField="Locality" HeaderText="Locality" SortExpression="Locality" />

                                    <asp:BoundField DataField="Postcode" HeaderText="Postcode" SortExpression="Postcode" />

                                    <asp:BoundField DataField="TelephoneNumber" HeaderText="TelephoneNumber" SortExpression="TelephoneNumber" />

                                    <asp:CommandField ShowEditButton="True" />

                                </Fields>

                            </asp:DetailsView>

                            <asp:ObjectDataSource ID="odsItem" runat="server" 

                                SelectMethod="GetDataItem" TypeName="Data999Mgr"

                                UpdateMethod="UpdateItem">

                                <UpdateParameters>

                                    <asp:Parameter Name="ID" Type="Int32" />

                                    <asp:Parameter Name="TelephoneNumber" Type="String" />

                                    <asp:Parameter Name="DataTitle" Type="String" />

                                    <asp:Parameter Name="Forename" Type="String" />

                                    <asp:Parameter Name="Surname" Type="String" />

                                    <asp:Parameter Name="Honours" Type="String" />

                                    <asp:Parameter Name="BusinessPrefix" Type="String" />

                                    <asp:Parameter Name="Premises" Type="String" />

                                    <asp:Parameter Name="Throughfare" Type="String" />

                                    <asp:Parameter Name="Locality" Type="String" />

                                    <asp:Parameter Name="Postcode" Type="String" />

                                </UpdateParameters>

                                <SelectParameters>

                                    <asp:ControlParameter ControlID="GridView1" Name="_id" PropertyName="SelectedValue"

                                        Type="String" />

                                </SelectParameters>

                                

                            </asp:ObjectDataSource>

                        </ContentTemplate>

                        <Triggers>

                            <asp:AsyncPostBackTrigger ControlID="txtTelephone" EventName="TextChanged" />

                        </Triggers>

                    </asp:UpdatePanel>

                </asp:Panel>

            </ContentTemplate>

        </ajaxToolkit:TabPanel>

        <ajaxToolkit:TabPanel runat="server" ID="pnlAdd" HeaderText="Add New">

            <ContentTemplate>

                <asp:Panel ID="pnlNewData" runat="server">

                    <asp:UpdatePanel ID="insData" runat="server">

                        <ContentTemplate>

                            <asp:FormView DataSourceID="odsInsData" ID="frmInsData" runat="server" DefaultMode="Insert" Visible="false">

                                <InsertItemTemplate>

                                    <table>

                                        <tr>

                                            <td>

                                                Telephone:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsTel" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="reqTel" Text="*" ControlToValidate="txtInsTel" ErrorMessage="Telephone missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Title:</td>

                                            <td>

                                                <asp:DropDownList ID="dlTitle" runat="server">

                                                    <asp:ListItem Value="Mr">Mr</asp:ListItem>

                                                    <asp:ListItem Value="Mrs">Mrs</asp:ListItem>

                                                    <asp:ListItem Value="Miss">Miss</asp:ListItem>

                                                    <asp:ListItem Value="Ms">Ms</asp:ListItem>

                                                    <asp:ListItem Value="Dr">Dr</asp:ListItem>

                                                    <asp:ListItem Value="Prof">Prof</asp:ListItem>

                                                </asp:DropDownList>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Forename:</td>

                                            <td>

                                                <asp:TextBox runat="server" ID="txtInsForename"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator1" Text="*" ControlToValidate="txtInsForename" ErrorMessage="Forename missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Surname:</td>

                                            <td>

                                                <asp:TextBox runat="server" ID="txtInsSurname"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator2" Text="*" ControlToValidate="txtInsSurname" ErrorMessage="Surname missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Honours:</td>

                                            <td>

                                                <asp:TextBox runat="server" ID="txtInsHonours"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator3" Text="*" ControlToValidate="txtInsHonours" ErrorMessage="Honours missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Prefix:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsPrefix" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator4" Text="*" ControlToValidate="txtInsPrefix" ErrorMessage="Business Prefix missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Premises:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsPremises" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator5" Text="*" ControlToValidate="txtInsPremises" ErrorMessage="Premises missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Throughfare:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsThrough" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator6" Text="*" ControlToValidate="txtInsThrough" ErrorMessage="Throughput missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Locality:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsLocality" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator7" Text="*" ControlToValidate="txtInsLocality" ErrorMessage="Locality missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td>

                                                Postcode:</td>

                                            <td>

                                                <asp:TextBox ID="txtInsPCode" runat="server"></asp:TextBox></td>

                                            <td>

                                                <asp:RequiredFieldValidator runat="server" ID="RequiredFieldValidator8" Text="*" ControlToValidate="txtInsPCode" ErrorMessage="Post code missing"></asp:RequiredFieldValidator>

                                            </td>

                                        </tr>

                                        <tr>

                                            <td colspan="2" align="right">

                                                <asp:Button ID="butSubmit" runat="server" CommandName="Insert" Text="Submit" />

                                            </td>

                                        </tr>

                                        <tr>

                                            <td colspan="2">

                                                <asp:ValidationSummary ID="vSummary" runat="server" />

                                            </td>

                                        </tr>

                                    </table>

                                </InsertItemTemplate>

                            </asp:FormView>

                            <asp:Panel ID="pnlconfInsert" runat="server" Visible="false">

                                <center>

                                    Item inserted OK<br />

                                    <asp:Button ID="cmdOK" runat="server" OnClick="cmdOK_Click" text="OK"/>

                                </center>

                            </asp:Panel>

                            <asp:ObjectDataSource ID="odsInsData" runat="server" OldValuesParameterFormatString="original_{0}"

                                InsertMethod="AddData" TypeName="Data999Mgr" OnInserted="odsInsData_Inserted">

                                <InsertParameters>

                                    <asp:ControlParameter ControlID="frmInsData$txtInsTel" Name="_TelNum" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$dlTitle" Name="_Title" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsForename" Name="_FName" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsSurname" Name="_SName" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsHonours" Name="_Honours" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsPrefix" Name="_Prefix" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsPremises" Name="_Premises" PropertyName="Text"

                                        Type="String" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsThrough" Name="_TFare" PropertyName="Text"

                                        Type="string" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsLocality" Name="_Locality" PropertyName="Text"

                                        Type="string" />

                                    <asp:ControlParameter ControlID="frmInsData$txtInsPCode" Name="_PCode" PropertyName="Text"

                                        Type="string" />

                                </InsertParameters>

                            </asp:ObjectDataSource>

                        </ContentTemplate>

                    </asp:UpdatePanel>

                </asp:Panel>

            </ContentTemplate>

        </ajaxToolkit:TabPanel>

        <ajaxToolkit:TabPanel runat="server" ID="tbHistory" HeaderText="Change Number">

            <ContentTemplate>

                

            

            </ContentTemplate>

        </ajaxToolkit:TabPanel>

    </ajaxToolkit:TabContainer>

    &nbsp;

Open in new window

0
 
LVL 1

Author Closing Comment

by:krapvag
ID: 31512735
This is correct, just a simple problem in the end down to my inexperience!

Thanks again
0
 
LVL 18

Expert Comment

by:David Robitaille
ID: 22868362
the way you did this is ineffective, but should work.
look like your problem is the validation. set your validators with 2 different groups and set the coresponding validation group  to the controls that trigger validation (ex : the asp:CommandField )
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

OverviewThis article demonstrates a simple search form using AJAX. The purpose of the article is to demonstrate how to use the same code to render a page and javascript (JQuery) and AJAX to make subsequent calls to refine the results. The princip…
I found this questions asking how to do this in many different forums, so I will describe here how to implement a solution using PHP and AJAX. The logical flow for the problem should be: Write an event handler for the first drop down box to get …
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, just open a new email message. In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…

910 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now