В настоящее время у меня есть DetailsView (раньше это был Formview, но это nogo с Masterpage и ObjectDataSource).
Каким-то образом в графике есть "Item []" (галочка), которую я не могу найти в источнике.
Это графически находится после «Комментар:» и перед «Дато:»
<asp:DetailsView ID="dv_InsertComment" runat="server" DefaultMode="Insert" DataSourceID="ods_InsertComment"
HeaderText="Kommentar:">
<Fields>
<asp:TemplateField HeaderText="Dato:">
<InsertItemTemplate>
<asp:Label ID="dNow" runat="server" Text='<%# DateTime.Now.ToShortDateString() %>'></asp:Label>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Konto" Visible="false">
<InsertItemTemplate>
<asp:TextBox ID="tbAccountIns" runat="server"></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Kommentar:">
<InsertItemTemplate>
<asp:TextBox ID="tbCommentIns" runat="server" Rows="3" Columns="50" TextMode="MultiLine"></asp:TextBox>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Status:">
<InsertItemTemplate>
<asp:DropDownList ID="StatusList" runat="server" DataSourceID="ods_StatusOptions"
DataTextField="name">
</asp:DropDownList>
</InsertItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fremnotering:">
<InsertItemTemplate>
<asp:DateBox ID="dFuture" runat="server" AllowNullDate="true" />
</InsertItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" Text="Indsæt kommentar" CommandName="Insert" />
<asp:ButtonField ButtonType="Button" Text="Annuller" CommandName="Cancel" />
</Fields>
</asp:DetailsView>
Кроме того, список параметров требует "!" после NewDate. Также требуется: «сотрудник, учетная запись, комментарий, тип, статус, новая дата,!.»
<asp:ObjectDataSource ID="ods_InsertComment" runat="server" InsertMethod="InsertComment"
TypeName="OurClient.Host.CommentsBLL" SelectMethod="GetNothing">
<InsertParameters>
<asp:SessionParameter Name="employee" SessionField="employee" DbType="String" />
<asp:Parameter Name="Account" DbType="String" />
<asp:Parameter Name="Comment" DbType="String" />
<asp:Parameter Name="Type" DefaultValue="0" DbType="Int32" />
<asp:Parameter Name="Status" DbType="Int32" />
<asp:Parameter Name="NewDate" DbType="DateTime" />
</InsertParameters>
</asp:ObjectDataSource>
Я думаю, если я уберу Предмет и галочку, то "!" параметр тоже уйдет. Но если его там нет, как его удалить?
Я удалил весь <Fields></Fields>
только для того, чтобы остался только Предмет []. Я переместил DefaultMode="Insert"
, и Предмет [] стал серым (не кликабельным). Как я сказал в начале - DetailsView
- это решение вместо FormView
.
Прежде чем вы спросите, GetNothing
является требованием, должно быть определено SelectMethod
. Не могу скомпилировать его, пока он там не будет.
Решение: AutoGenerateRows="False"
на <asp:detailsview ....>
Как я заметил это? Я перешел к рассматриваемому aspx, переключился на представление Split и продолжил анализировать, какие элементы управления действительно присутствовали. Я наткнулся на флажок Автогенерация.