 |
BOOK: Beginning ASP.NET 4 : in C# and VB
 | This is the forum to discuss the Wrox book Beginning ASP.NET 4: in C# and VB by Imar Spaanjaars; ISBN: 9780470502211 |
Welcome to the p2p.wrox.com Forums.
You are currently viewing the BOOK: Beginning ASP.NET 4 : in C# and VB section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
|
|
|
|
|

November 26th, 2011, 02:45 PM
|
|
Authorized User
|
|
Join Date: Oct 2010
Posts: 71
Thanks: 12
Thanked 0 Times in 0 Posts
|
|
Detailsview not working...
Hi all
I have a default page with a gridview on with lots of data. You can click one of the clients names and it links to another page showing a details view. This all works fine.
I then added another details view below that second page to display another tables data that corresponds to the client name in question. But for some reaosn this second details view will not show anything at all...
Here is my code for the second page. Any thoughts?
Code:
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="AddEditNames.aspx.vb" Inherits="ManagementTest_AddEditNames" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
<p><a href="IssueSearch.aspx">Back to Client Condition selection</a></p>
<p><a href="NamesSearch.aspx">Back to Client Name selection</a></p>
<h1>Client details</h1>
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="SqlDataSource1" DefaultMode="Insert">
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Surname" HeaderText="Surname"
SortExpression="Surname" />
<asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" />
<asp:BoundField DataField="IssueID" HeaderText="IssueID"
SortExpression="IssueID" />
<asp:BoundField DataField="Address01" HeaderText="Address01"
SortExpression="Address01" />
<asp:BoundField DataField="Address02" HeaderText="Address02"
SortExpression="Address02" />
<asp:BoundField DataField="Address03" HeaderText="Address03"
SortExpression="Address03" />
<asp:BoundField DataField="PostCode" HeaderText="PostCode"
SortExpression="PostCode" />
<asp:BoundField DataField="Telephone" HeaderText="Telephone"
SortExpression="Telephone" />
<asp:BoundField DataField="Mobile" HeaderText="Mobile"
SortExpression="Mobile" />
<asp:TemplateField HeaderText="Email" SortExpression="Email">
<EditItemTemplate>
<asp:TextBox ID="TextBox2" TextMode="SingleLine" Width="100" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox2" TextMode="SingleLine" runat="server" Text='<%# Bind("Email") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Email") %>'></asp:Label>
</ItemTemplate>
<ItemStyle Width="150px" />
</asp:TemplateField>
<asp:TemplateField HeaderText="Notes" SortExpression="Notes">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" TextMode="MultiLine" Width="500" Height="250" runat="server" Text='<%# Bind("Notes") %>'></asp:TextBox>
</EditItemTemplate>
<InsertItemTemplate>
<asp:TextBox ID="TextBox1" TextMode="MultiLine" Width="500" Height="250" runat="server" Text='<%# Bind("Notes") %>'></asp:TextBox>
</InsertItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("Notes") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:CheckBoxField DataField="Active" HeaderText="Active"
SortExpression="Active" />
<asp:BoundField DataField="DateCreated" HeaderText="DateCreated"
SortExpression="DateCreated" DataFormatString="{0:g}" />
<asp:CommandField ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [names] WHERE [ID] = @ID"
InsertCommand="INSERT INTO [names] ([Name], [Surname], [Age], [IssueID], [Address01], [Address02], [Address03], [PostCode], [Telephone], [Mobile], [Email], [Notes], [Active], [DateCreated]) VALUES (@Name, @Surname, @Age, @IssueID, @Address01, @Address02, @Address03, @PostCode, @Telephone, @Mobile, @Email, @Notes, @Active, @DateCreated)"
SelectCommand="SELECT [ID], [Name], [Surname], [Age], [IssueID], [Address01], [Address02], [Address03], [PostCode], [Telephone], [Mobile], [Email], [Notes], [Active], [DateCreated] FROM [names] WHERE ([ID] = @ID)"
UpdateCommand="UPDATE [names] SET [Name] = @Name, [Surname] = @Surname, [Age] = @Age, [IssueID] = @IssueID, [Address01] = @Address01, [Address02] = @Address02, [Address03] = @Address03, [PostCode] = @PostCode, [Telephone] = @Telephone, [Mobile] = @Mobile, [Email] = @Email, [Notes] = @Notes, [Active] = @Active, [DateCreated] = @DateCreated WHERE [ID] = @ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Surname" Type="String" />
<asp:Parameter Name="Age" Type="String" />
<asp:Parameter Name="IssueID" Type="Int32" />
<asp:Parameter Name="Address01" Type="String" />
<asp:Parameter Name="Address02" Type="String" />
<asp:Parameter Name="Address03" Type="String" />
<asp:Parameter Name="PostCode" Type="String" />
<asp:Parameter Name="Telephone" Type="Int32" />
<asp:Parameter Name="Mobile" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="Notes" Type="String" />
<asp:Parameter Name="Active" Type="Boolean" />
<asp:Parameter DbType="Date" Name="DateCreated" />
</InsertParameters>
<SelectParameters>
<asp:QueryStringParameter Name="ID" QueryStringField="id" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="Name" Type="String" />
<asp:Parameter Name="Surname" Type="String" />
<asp:Parameter Name="Age" Type="String" />
<asp:Parameter Name="IssueID" Type="Int32" />
<asp:Parameter Name="Address01" Type="String" />
<asp:Parameter Name="Address02" Type="String" />
<asp:Parameter Name="Address03" Type="String" />
<asp:Parameter Name="PostCode" Type="String" />
<asp:Parameter Name="Telephone" Type="Int32" />
<asp:Parameter Name="Mobile" Type="String" />
<asp:Parameter Name="Email" Type="String" />
<asp:Parameter Name="Notes" Type="String" />
<asp:Parameter Name="Active" Type="Boolean" />
<asp:Parameter DbType="Date" Name="DateCreated" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<h1>
Pre-Therapy contact
</h1>
<asp:DetailsView ID="DetailsView2" runat="server" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="SqlDataSource2" DefaultMode="Insert">
<Fields>
<asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"
ReadOnly="True" SortExpression="ID" />
<asp:BoundField DataField="FirstContactDate" HeaderText="FirstContactDate"
SortExpression="FirstContactDate" />
<asp:BoundField DataField="FindYouList"
HeaderText="FindYouList" SortExpression="FindYouList" />
<asp:BoundField DataField="FingYou" HeaderText="FingYou"
SortExpression="FingYou" />
<asp:BoundField DataField="InitialContact" HeaderText="InitialContact"
SortExpression="InitialContact" />
<asp:BoundField DataField="Impressions" HeaderText="Impressions"
SortExpression="Impressions" />
<asp:BoundField DataField="Feel" HeaderText="Feel" SortExpression="Feel" />
<asp:BoundField DataField="DescribedIssue" HeaderText="DescribedIssue"
SortExpression="DescribedIssue" />
<asp:BoundField DataField="WorkiningWithClient"
HeaderText="WorkiningWithClient" SortExpression="WorkiningWithClient" />
<asp:CheckBoxField DataField="PreviousTherapy" HeaderText="PreviousTherapy"
SortExpression="PreviousTherapy" />
<asp:BoundField DataField="PreviousID"
HeaderText="PreviousID"
SortExpression="PreviousID" />
<asp:BoundField DataField="UpdatedDate" HeaderText="UpdatedDate"
SortExpression="UpdatedDate" />
<asp:BoundField DataField="ClientId" HeaderText="ClientId"
SortExpression="ClientId" />
<asp:CommandField ShowEditButton="True" ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
DeleteCommand="DELETE FROM [PreTherapy] WHERE [ID] = @ID"
InsertCommand="INSERT INTO [PreTherapy] ([FirstContactDate], [FindYouList], [FingYou], [InitialContact], [Impressions], [Feel], [DescribedIssue], [WorkiningWithClient], [PreviousTherapy], [PreviousID], [UpdatedDate], [ClientId]) VALUES (@FirstContactDate, @FindYouList, @FingYou, @InitialContact, @Impressions, @Feel, @DescribedIssue, @WorkiningWithClient, @PreviousTherapy, @PreviousID, @UpdatedDate, @ClientId)"
SelectCommand="SELECT ID, FirstContactDate, FindYouList, FingYou, InitialContact, Impressions, Feel, DescribedIssue, WorkiningWithClient, PreviousTherapy, PreviousID, UpdatedDate, ClientId FROM PreTherapy WHERE (ID = @ID)"
UpdateCommand="UPDATE [PreTherapy] SET [FirstContactDate] = @FirstContactDate, [FindYouList] = @FindYouList, [FingYou] = @FingYou, [InitialContact] = @InitialContact, [Impressions] = @Impressions, [Feel] = @Feel, [DescribedIssue] = @DescribedIssue, [WorkiningWithClient] = @WorkiningWithClient, [PreviousTherapy] = @PreviousTherapy, [PreviousID] = @PreviousID, [UpdatedDate] = @UpdatedDate, [ClientId] = @ClientId WHERE [ID] = @ID">
<DeleteParameters>
<asp:Parameter Name="ID" Type="Int32" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="FirstContactDate" Type="DateTime" />
<asp:Parameter Name="FindYouList" Type="Int32" />
<asp:Parameter Name="FingYou" Type="String" />
<asp:Parameter Name="InitialContact" Type="String" />
<asp:Parameter Name="Impressions" Type="String" />
<asp:Parameter Name="Feel" Type="String" />
<asp:Parameter Name="DescribedIssue" Type="String" />
<asp:Parameter Name="WorkiningWithClient" Type="String" />
<asp:Parameter Name="PreviousTherapy" Type="Boolean" />
<asp:Parameter Name="PreviousID" Type="Int32" />
<asp:Parameter Name="UpdatedDate" Type="DateTime" />
<asp:Parameter Name="ClientId" Type="Int32" />
</InsertParameters>
<SelectParameters>
<asp:QueryStringParameter Name="ID" QueryStringField="ID" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="FirstContactDate" Type="DateTime" />
<asp:Parameter Name="FindYouList" Type="Int32" />
<asp:Parameter Name="FingYou" Type="String" />
<asp:Parameter Name="InitialContact" Type="String" />
<asp:Parameter Name="Impressions" Type="String" />
<asp:Parameter Name="Feel" Type="String" />
<asp:Parameter Name="DescribedIssue" Type="String" />
<asp:Parameter Name="WorkiningWithClient" Type="String" />
<asp:Parameter Name="PreviousTherapy" Type="Boolean" />
<asp:Parameter Name="PreviousID" Type="Int32" />
<asp:Parameter Name="UpdatedDate" Type="DateTime" />
<asp:Parameter Name="ClientId" Type="Int32" />
<asp:Parameter Name="ID" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
</p>
</asp:Content>
|
|

November 26th, 2011, 06:52 PM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
Your second SqlDataSource seems to be set up to use the same ID query string parameter and then uses it to query a different table. Do both tables have identical and matching IDs? Or did you intend to query on a different column?
Imar
|
|

November 27th, 2011, 01:46 PM
|
|
Authorized User
|
|
Join Date: Oct 2010
Posts: 71
Thanks: 12
Thanked 0 Times in 0 Posts
|
|
My tables have the same ID to identify a client so need to use the same ID so that the second table brings up data relevant to that client. Is that right then? Why do you think it is wrong?
|
|

November 27th, 2011, 02:21 PM
|
 |
Wrox Author
|
|
Join Date: Jun 2003
Posts: 17,089
Thanks: 80
Thanked 1,576 Times in 1,552 Posts
|
|
I am not saying it's wrong, I am only guessing. Two tables having a primary key that are supposed to be in sync is generally asking for trouble though. What happens when you delete a record in one, but not in the other?
What I thought you were doing is querying two separate tables for the same ID. E.g.:
WHERE ID = Request.QueryStyring.Get("ID")
Are you sure both tables should returm a record for the ID you're passing into the query string?
Imar
|
|
The Following User Says Thank You to Imar For This Useful Post:
|
|
|

November 28th, 2011, 08:08 AM
|
|
Authorized User
|
|
Join Date: Oct 2010
Posts: 71
Thanks: 12
Thanked 0 Times in 0 Posts
|
|
Let me have a look at this and come back to you. Thanks.
|
|
 |
|