/ / Obtener valor de DetailsView a FormView Textbox en modo de inserción - c #, asp.net, detailsview, formview

Obtenga valor desde DetailsView a FormView Textbox en modo de inserción: c #, asp.net, detailsview, formview

Estoy tratando de obtener el valor de la vista de detalles a la vista de formulario. Quiero establecer el ID de libro / ISBN en el cuadro de texto de inserción de vista de formulario al valor de ID de libro / ISBN de la vista de detalles.

Aquí hay una muestra de mi código:

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
CellPadding="4" DataKeyNames="bookid" DataSourceID="detailsDataSource"
ForeColor="#333333" GridLines="None" Height="50px" Width="">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<CommandRowStyle BackColor="#D1DDF1" Font-Bold="True" />
<RowStyle BackColor="#EFF3FB" />
<FieldHeaderStyle BackColor="#DEE8F5" Font-Bold="True" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<FooterTemplate>
<asp:GridView ID="GridView2" runat="server" AllowPaging="True"
AllowSorting="True" AutoGenerateColumns="False" CellPadding="4"
DataKeyNames="reservationid" DataSourceID="reserveDataSource"
ForeColor="#333333" GridLines="None">
<RowStyle BackColor="#EFF3FB" />
<Columns>
<asp:BoundField DataField="EmployeeID" HeaderText="Reserved by"
SortExpression="EmployeeID" />
<asp:BoundField DataField="reservedate" HeaderText="Reserved date"
SortExpression="reservedate" />
</Columns>
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<asp:FormView ID="FormView1" runat="server" DataKeyNames="reservationid"
DataSourceID="reserveDataSource">
<EditItemTemplate>
reservationid:
<asp:Label ID="reservationidLabel1" runat="server"
Text="<%# Eval("reservationid") %>" />
<br />
bookid:
<asp:TextBox ID="bookidTextBox" runat="server" Text="<%# Bind("bookid") %>" />
<br />
EmployeeID:
<asp:TextBox ID="EmployeeIDTextBox" runat="server"
Text="<%# Bind("EmployeeID") %>" />
<br />
reservedate:
<asp:TextBox ID="reservedateTextBox" runat="server"
Text="<%# Bind("reservedate") %>" />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="Update" />
&nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</EditItemTemplate>
<InsertItemTemplate>
Book ID/ISBN:
<asp:TextBox ID="bookidTextBox" runat="server"
Text="<%# Bind("bookid") %>"/>
<br />
Employee ID:
<asp:TextBox ID="EmployeeIDTextBox0" runat="server"
Text="<%# Bind("EmployeeID") %>" />
<br />
Reserve date:
<asp:TextBox ID="reservedateTextBox0" runat="server"
Text="<%# Bind("reservedate") %>" />
<br />
<asp:LinkButton ID="InsertButton" runat="server" CausesValidation="True"
CommandName="Insert" Text="Reserve" />
&nbsp;<asp:LinkButton ID="InsertCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="Cancel" />
</InsertItemTemplate>

Entonces, lo que estoy tratando de hacer es que cuando un usuario haga clic en el botón Insertar / Reservar libro, la ID del libro / ISBN ya esté configurada en la ID del libro / ISBN en el modo de inserción de vista de formulario por defecto.

Cualquier ayuda sería muy apreciada;)

Gracias por adelantado.

Respuestas

1 para la respuesta № 1

¿Puedes probar y comprobar el DetailsView1.SelectedValue

<asp:TextBox ID="bookidTextBox" runat="server"
Text="<%# DetailsView1.SelectedValue %>"/>

Editar: Ahora, si desea vincular ese valor a la función Insertar de su DetailsView, no se comportará como el otro control, ya que está utilizando el Bind method para el otro control y proporciona enlace bidireccional.

Ahora necesita pasar ese valor para insertar incluso DetailsView como cuando estamos asignando valores usando DetailsView1.SelectedValue pero no vincula el valor.

Espero que entiendas esta teoría.

protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
e.Values["bookid"] = ((TextBox)DetailsView1.FindControl("bookidTextBox")).Text;
}