Solved

DetailsView doesn't update in AJAX update panel

Posted on 2008-11-03
6
662 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
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 
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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Introduction HyperText Transfer Protocol (http://www.ietf.org/rfc/rfc2616.txt) or "HTTP" is the underpinning of internet communication.  As a teacher of web development I have heard many questions, mostly from my younger students who have come to t…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

770 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