Dobrý den přátelé, obracím se na Vás s problémem s objectdatasource a formview. Při insertu se mi přenesou do objektu všechny vlastnosti z FormView až na parametr, který by se měl vložit z QueryStringu. Ten je stále roven 0. Pokroku se mi povedlo dosáhnout přidáním pomocného textboxu do FormView a bindingem na dannou vlastnost. Procpe se mi tam ale jen DefaultValue z QueryStringParameter(pokud je DefaultValue určena), samotnou hodnotu z querystringu se mi tam nedaří dostat, což je problem. Na pomoc jsem si přizval strýčka Googla, ale povedlo se mi najít jen řešení v code behind. Lze toto řešit jen v markup? Použitý kód:
<asp:ObjectDataSource ID="SaveTimeSheet" runat="server" DataObjectTypeName="Employees.Entity.TimeSheetEntity" TypeName="Employees.Business.TimeSheetBusiness"
InsertMethod="Save" >
<InsertParameters>
<asp:QueryStringParameter Type="Int32" QueryStringField="ID" Name="ContractId" />
<asp:Parameter Type="Int32" Name="UserId" />
<asp:Parameter Name="Contract" Type="Object" />
<asp:Parameter Name="User" Type="Object" />
<asp:Parameter Type="DateTime" Name="Date" />
<asp:Parameter Type="DateTime" Name="TimeFrom" />
<asp:Parameter Type="DateTime" Name="TimeTo" />
<asp:Parameter Type="Int16" Name="Break" />
<asp:Parameter Type="String" Name="Note" />
</InsertParameters>
</asp:ObjectDataSource>
<asp:FormView runat="server" DefaultMode="Insert" ID="DetailTimeSheet" DataKeyNames="Id, ContractId" DataSourceID="SaveTimeSheet">
<InsertItemTemplate>
<h1>Přidat pracovní výkaz</h1>
<ul>
<asp:TextBox runat="server" Text='<%# Bind("ContractId") %>' ID="TextBox5"></asp:TextBox>
<li>
<label>Jméno pracovníka</label>
<asp:DropDownList runat="server" ID="ddlSelectFullName" DataSourceID="ContractUsers" DataTextField="FullName" DataValueField="UserId" SelectedValue='<%# Bind("UserId") %>'>
</asp:DropDownList>
</li>
<li>
<label>Datum</label>
<asp:TextBox runat="server" Text='<%# Bind("Date") %>' ID="txtDate" />
</li>
<li>
<label>Od</label>
<asp:TextBox runat="server" Text='<%# Bind("TimeFrom") %>' ID="TextBox2" />
</li>
<li>
<label>Do</label>
<asp:TextBox runat="server" Text='<%# Bind("TimeTo") %>' ID="TextBox3" />
</li>
<li>
<label>Přestávka</label>
<asp:TextBox runat="server" Text='<%# Bind("Break") %>' ID="TextBox1" />
</li>
<li>
<label>Poznámka</label>
<asp:TextBox runat="server" Text='<%# Bind("Note") %>' ID="TextBox4" />
</li>
<li>
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Insert" Text="Vložit pracovní výkaz">
</asp:LinkButton>
</li>
</ul>
</InsertItemTemplate>
</asp:FormView>
Předem děkuji za jakékoliv rady.
|