Hi,
I have a page which is basically a details view(in inset mode) inside a datalist.
The problem is I want to set the field "invoiceID" (of the detailsview) to an invoiceID coming through the query string of the page.
Now, I have sucessfully done this with a detailsview that is not enclosed in a datalist, using the following page load script:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s) Handles Me.Load
Dim Invoiceid As TextBox = CType(DetailsVi ew1.FindControl ("Invoiceid" ), TextBox)
Invoiceid.Text = Request.QuerySt ring("Invoiceid ")
End Sub
however when I enclosed the detailsview in a datalist, it suddenly stopped working,
The first error I get is
Compiler Error Message: BC30451: Name 'DetailsView1' is not declared.
Line 9: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArg s) Handles Me.Load
Line 10:
Line 11: Dim Invoiceid As TextBox = CType(DetailsVi ew1.FindControl ("Invoiceid" ), TextBox)
Line 12: Invoiceid.Text = Request.QuerySt ring("Invoiceid ")
Line 13: End Sub
My code is below:
<asp:DataList ID="DataList1" runat="server" DataKeyField="T estID" DataSourceID="O bjectDataSource 2"
Style="z-index: 120; left: 32px; position: absolute; top: 162px">
<ItemTemplate >
<asp:GridView ID="GridView1" runat="server" AutoGenerateCol umns="False" DataKeyNames="T estID"
DataSourceID="O bjectDataSource 1" Style="position : static">
<Columns>
<asp:CommandFie ld ShowDeleteButto n="True" />
<asp:BoundFie ld DataField="Test ID" HeaderText="Tes tID" InsertVisible=" False" ReadOnly="True"
SortExpression= "TestID" />
<asp:BoundFie ld DataField="Invo iceID" HeaderText="Inv oiceID" SortExpression= "InvoiceID" />
<asp:BoundFie ld DataField="Firs tName" HeaderText="Fir stName" SortExpression= "FirstName" />
<asp:BoundFie ld DataField="Surn ame" HeaderText="Sur name" SortExpression= "Surname" />
</Columns>
</asp:GridView>
<asp:ObjectData Source ID="ObjectDataS ource1" runat="server" DeleteMethod="D elete"
InsertMethod="I nsert" OldValuesParame terFormatString ="original_{ 0}" SelectMethod="G etData"
TypeName="DataS et1TableAdapter s.TestTableAdap ter" UpdateMethod="U pdate">
<DeleteParamete rs>
<asp:Paramete r Name="Original_ TestID" Type="Int32" />
</DeleteParameter s>
<UpdateParamete rs>
<asp:Paramete r Name="InvoiceID " Type="Int32" />
<asp:Paramete r Name="FirstName " Type="String" />
<asp:Paramete r Name="Surname" Type="String" />
<asp:Paramete r Name="Original_ TestID" Type="Int32" />
<asp:Paramete r Name="TestID" Type="Int32" />
</UpdateParameter s>
<SelectParamete rs>
<asp:QueryStrin gParameter DefaultValue="1 " Name="InvoiceID " QueryStringFiel d="InvoiceID"
Type="Int32" />
</SelectParameter s>
<InsertParamete rs>
<asp:Paramete r Name="InvoiceID " Type="Int32" />
<asp:Paramete r Name="FirstName " Type="String" />
<asp:Paramete r Name="Surname" Type="String" />
</InsertParameter s>
</asp:ObjectDataS ource>
<asp:DetailsVie w ID="DetailsView 1" runat="server" AutoGenerateRow s="False" DataKeyNames="T estID"
DataSourceID="O bjectDataSource 1" Height="50px" Style="position : static" Width="125px" DefaultMode="In sert">
<Fields>
<asp:BoundFie ld DataField="Test ID" HeaderText="Tes tID" InsertVisible=" False" ReadOnly="True" SortExpression= "TestID" />
<asp:CommandFie ld ShowInsertButto n="True" />
<asp:TemplateFi eld >
<InsertItemTemp late>
<asp:TextBox ID="InvoiceID" runat="server" Text='<%# Bind("InvoiceID ") %>' Visible="false" ></asp:TextBox>
<asp:TextBox ID="FirstName" runat="server" Text='<%# Bind("FirstName ") %>'></asp:TextBox>
<asp:TextBox ID="Surname" runat="server" Text='<%# Bind("Surname") %>'></asp:TextBox>
</InsertItemTempl ate>
</asp:TemplateFie ld>
</Fields>
</asp:DetailsView >
</ItemTemplate>
</asp:DataList>
<asp:ObjectData Source ID="ObjectDataS ource2" runat="server" DeleteMethod="D elete"
InsertMethod="I nsert" OldValuesParame terFormatString ="original_{ 0}" SelectMethod="G etData"
TypeName="DataS et1TableAdapter s.TestTableAdap ter" UpdateMethod="U pdate">
<DeleteParamete rs>
<asp:Paramete r Name="Original_ TestID" Type="Int32" />
</DeleteParameter s>
<UpdateParamete rs>
<asp:Paramete r Name="InvoiceID " Type="Int32" />
<asp:Paramete r Name="FirstName " Type="String" />
<asp:Paramete r Name="Surname" Type="String" />
<asp:Paramete r Name="Original_ TestID" Type="Int32" />
<asp:Paramete r Name="TestID" Type="Int32" />
</UpdateParameter s>
<SelectParamete rs>
<asp:QueryStrin gParameter DefaultValue="1 " Name="InvoiceID " QueryStringFiel d="InvoiceID"
Type="Int32" />
</SelectParameter s>
<InsertParamete rs>
<asp:Paramete r Name="InvoiceID " Type="Int32" />
<asp:Paramete r Name="FirstName " Type="String" />
<asp:Paramete r Name="Surname" Type="String" />
</InsertParameter s>
</asp:ObjectDataS ource>
Can anyone tell me how to reference the Invoice ID textbox in the detailsview, and then set it to a request.queryst ring value?
thanks