我目前有一个DetailsView(曾经是一个Formview,但这是一个带有Masterpage和ObjectDataSource的nogo)。
不知何故,在图片中有一个“Item []”(复选框),我在源代码中找不到。 它在“Kommentar:”之后和“Dato:”之前以图形方式找到。
<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之后。 Aka它要求:“员工,帐户,评论,类型,状态,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>
只是为了只剩下Item []。我将DefaultMode="Insert"
移出,而Item []变为灰色(不可点击)。正如我在开头所说 - DetailsView
是一个解决方案,而不是FormView
。
在您要求GetNothing
是必需之前,它必须定义SelectMethod
。除非在那里,否则无法编译它。
解决方案:AutoGenerateRows="False"
<asp:detailsview ....>
我是如何发现那个的?我去了有问题的aspx,改为Split视图并继续分析实际存在的控件。我偶然发现了Auto Generate复选框。
答案 0 :(得分:1)
您是否搜索过代码隐藏文件?
也许注入了复选框?
复选框的ID为“ContentPlaceHolder2_dv_InsertComment_ctl01”,可以是动态添加的控件。
检查您的代码隐藏文件中是否有任何字符串,如“InsertComment”或“dv_”或“_dv”等,并查看。
我只是在猜测。