asp:Wizard inside of a asp:FormView breacks two-way databinding (Round 4)

  • Thread starter Douglas J. Badin
  • Start date
D

Douglas J. Badin

Earlier this month, there was a posting about this without a definitive
answer.

If you place a Wizard inside a FormView's EditItemTemplate the bound fields
contained within the View will display the data from the fields to which
they are bound; yet they will return null values when the 'Update'
LinkButton is clicked.

The responder thought this might have something to do with naming
containers. If so, this is similar to an issue in Beta 2, Bug ID:
FDBK27772,
http://lab.msdn.microsoft.com/Produ...edbackID=b104cbc3-8a55-4752-8c11-7e93b1d52077,
with naming containers (multiview, panel, etc) and fixed in a later build.

I checked, and it is works with MultiView.

Did the fix miss the Wizard or does this have nothing to do with naming
containers?

I want to use the built-in features of the Wizard rather than create my own
using MultiView.

Doug
 
Y

Yuan Ren[MSFT]

Hi Doug,

Thanks for posting!

For the current issue, my understanding is that the Wizard control has the
same problem with the MultiView control when place it into the FormView
control. If I have misunderstood anything, please let me know.

In this scenario, could you please give me a simple demo which can
reproduce the current problem? This will help me to perform the same test
exactly. I appreciate your understanding!

In addition, the Wizard control is the naming container control. So if some
naming container controls is fixed, I think the Wizard control also should
be fixed. That's why I need perform some tests. Thanks for your
understanding!

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
 
D

Douglas J. Badin

Hi Yuan,

With the code below, try to update the Company Name with the Wizard and
MultiView examplex. The Wizard example post backs nulls.

Add a connection string to Web.config

<add name="LocalNWind"
connectionString="SERVER=(local);DATABASE=northwind;INTEGRATED
SECURITY=sspi;" providerName="System.Data.SqlClient"/>

Multiview Example that works:
---------------------------------------------- MultiView Form after
here -------------------------------------------------------------------------
<form id="form1" runat="server">

<div>

<asp:FormView

ID="FormView1"

runat="server"

AllowPaging="true"

DataSourceID="SqlDataSource1"

DataKeyNames="CustomerID"

<ItemTemplate>

<TABLE border="1">

<TR>

<TD>

Company Name:

</TD>

<TD>

<asp:literal ID="litCompanyName" runat="server" Text='<%#
Eval("CompanyName") %>' />

</TD>

</TR>

<TR>

<TD>

Contact Name:

</TD>

<TD>

<asp:literal ID="litContactName" runat="server" Text='<%#
Eval("ContactName") %>' />

</TD>

</TR>

<TR>

<TD>

<asp:Button id="btnEdit" runat="server" text="Edit" CommandName="Edit"/>

</TD>

</TR>

</TABLE>

</ItemTemplate>

<EditItemTemplate>

<asp:MultiView ID="MultiView1" runat="server" ActiveViewIndex="0">

<asp:View ID="View1" runat="server">

<TABLE border="1">

<TR>

<TD>

Company Name:

</TD>

<TD>

<asp:TextBox ID="txtCompanyName" runat="server" Text='<%#
Bind("CompanyName") %>' />

</TD>

</TR>

</TABLE>

</asp:View>

<asp:View ID="View2" runat="server">

<TABLE border="1">

<TR>

<TD>

Contact Name:

</TD>

<TD>

<asp:TextBox ID="txtContactName" runat="server" Text='<%#
Bind("ContactName") %>' />

</TD>

</TR>

</TABLE>

</asp:View>

</asp:MultiView>

<TABLE>

<TR>

<TD colspan="2">

<asp:Button id="btnUpdate" runat="server" text="Update"
CommandName="Update"/>

<asp:Button id="btnCancel" runat="server" text="Cancel"
CommandName="Cancel"/>

</TD>

</TR>

</TABLE>

</EditItemTemplate>

</asp:FormView>

<asp:SqlDataSource ID="SQLDataSource1" runat="server"

EnableCaching="True"

ConnectionString='<%$ ConnectionStrings:LocalNWind %>'

SelectCommand="SELECT CustomerID, CompanyName, ContactName FROM Customers"

UpdateCommand="UPDATE Customers SET CompanyName = @CompanyName, ContactName
= @ContactName WHERE CustomerID = @CustomerID">

<UpdateParameters>

<asp:parameter Name="CustomerID" />

<asp:parameter Name="CompanyName" />

<asp:parameter Name="ContactName" />

</UpdateParameters>

</asp:SqlDataSource>


</div>

</form>

---------------------------------------------- MultiView Form before
here -------------------------------------------------------------------------

Wizard Example that does not work:
---------------------------------------------- Wizard Form after
here -------------------------------------------------------------------------
<form id="form1" runat="server">

<div>

<asp:FormView

ID="FormView1"

runat="server"

AllowPaging="true"

DataSourceID="SqlDataSource1"

DataKeyNames="CustomerID"

<ItemTemplate>

<TABLE border="1">

<TR>

<TD>

Company Name:

</TD>

<TD>

<asp:literal ID="litCompanyName" runat="server" Text='<%#
Eval("CompanyName") %>' />

</TD>

</TR>

<TR>

<TD>

Contact Name:

</TD>

<TD>

<asp:literal ID="litContactName" runat="server" Text='<%#
Eval("ContactName") %>' />

</TD>

</TR>

<TR>

<TD>

<asp:Button id="btnEdit" runat="server" text="Edit" CommandName="Edit"/>

</TD>

</TR>

</TABLE>

</ItemTemplate>

<EditItemTemplate>

<asp:Wizard ID="Wizard1" runat="server" ActiveStepIndex="0" Height="115px">

<WizardSteps>

<asp:WizardStep ID="WizardStep1" runat="server" Title="Company Name">

<TABLE border="1">

<TR>

<TD>

Company Name:

</TD>

<TD>

<asp:TextBox ID="txtCompanyName" runat="server" Text='<%#
Bind("CompanyName") %>' />

</TD>

</TR>

</TABLE>

</asp:WizardStep>

<asp:WizardStep ID="WizardStep2" runat="server" Title="Contact Name">

<TABLE border="1">

<TR>

<TD>

Contact Name:

</TD>

<TD>

<asp:TextBox ID="txtContactName" runat="server" Text='<%#
Bind("ContactName") %>' />

</TD>

</TR>

</TABLE>

</asp:WizardStep>

</WizardSteps>

<SideBarTemplate>

<asp:DataList ID="SideBarList" runat="server">

<SelectedItemStyle Font-Bold="True" />

<ItemTemplate>

<asp:LinkButton ID="SideBarButton" runat="server"></asp:LinkButton>

</ItemTemplate>

</asp:DataList>

</SideBarTemplate>

</asp:Wizard>

<TABLE>

<TR>

<TD colspan="2">

<asp:Button id="Button1" runat="server" text="Update" CommandName="Update"/>

<asp:Button id="Button2" runat="server" text="Cancel" CommandName="Cancel"/>

</TD>

</TR>

</TABLE>

</EditItemTemplate>

</asp:FormView>

<asp:SqlDataSource ID="SQLDataSource1" runat="server"

EnableCaching="True"

ConnectionString='<%$ ConnectionStrings:LocalNWind %>'

SelectCommand="SELECT CustomerID, CompanyName, ContactName FROM Customers"

UpdateCommand="UPDATE Customers SET CompanyName = @CompanyName, ContactName
= @ContactName WHERE CustomerID = @CustomerID">

<UpdateParameters>

<asp:parameter Name="CustomerID" />

<asp:parameter Name="CompanyName" />

<asp:parameter Name="ContactName" />

</UpdateParameters>

</asp:SqlDataSource>


</div>

</form>

---------------------------------------------- Wizard Form before
here -------------------------------------------------------------------------



"Yuan Ren[MSFT]" said:
Hi Doug,

Thanks for posting!

For the current issue, my understanding is that the Wizard control has the
same problem with the MultiView control when place it into the FormView
control. If I have misunderstood anything, please let me know.

In this scenario, could you please give me a simple demo which can
reproduce the current problem? This will help me to perform the same test
exactly. I appreciate your understanding!

In addition, the Wizard control is the naming container control. So if
some
naming container controls is fixed, I think the Wizard control also should
be fixed. That's why I need perform some tests. Thanks for your
understanding!

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
 
Y

Yuan Ren[MSFT]

Hi Doug,

Thanks for your reply!

I have performed the test and reproduced the current issue. I think maybe
the bug is not totally fixed for all naming container control. I suggest
you open a new case to the Microsoft PSS. Since the issue maybe is caused
by the product bug, you will not be charged for the case. The Microsoft PSS
will supply the workaround or hot fix for the current issue.

For your reference, I attached steps to contact Microsoft PSS here: You can
contact Microsoft Product Support directly to discuss additional support
options you may have available, by contacting us at 1-(800)936-5800 or by
choosing one of the options listed at
http://support.microsoft.com/common/international.aspx?rdpath=gp;en-us;offer
prophone

I appreciate your understanding!

Regards,

Yuan Ren [MSFT]
Microsoft Online Support
 
D

Douglas J. Badin

Hi Yuan,

I have opened a case with PSS.

Initial reaction from them is that it is a bug.

Thanks,

Doug
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top