2011-06-01 141 views
0

我目前有一个DetailsView(以前是一个FormView,但这是一个与Masterpage和ObjectDataSource nogo)。项目tickbox来自哪里

不知何故,在图形中有一个“Item []”(复选框),我在源代码中找不到。 它的图形后发现“Kommentar:”和之前的“拿督”

   <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> 

ontop的那参数列表需要一个“!”在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> 

我想如果我删除项目和tickbox,“!”参数也会消失。但如果它不在那里,我该如何删除它?

我已经删除了整个<Fields></Fields>只剩下Item []。我将DefaultMode="Insert"移出,项目[]变灰(不可点击)。正如我在开头所说 - DetailsView是一个解决方案,而不是一个FormView

在你问GetNothing是一个要求之前,它必须定义一个SelectMethod。除非它在那里,否则无法编译它。

解决方案:AutoGenerateRows="False"<asp:detailsview ....>

我是怎么看出来的?我去了有问题的aspx,更改为Split视图,并继续分析实际存在的控件。我有点绊倒了自动生成复选框。

+0

什么HTML呈现? – Pleun 2011-06-01 08:07:59

+0

\t \t \t​​项目​​<跨度标题= “项” 类= “aspNetDisabled”> \t \t – DoStuffZ 2011-06-01 08:11:24

+0

那么从它在哪里的地方:拿督前:和Kommentar之后,不知怎地,你的aspx不与generatged的HTML是一致的(不过你已经知道了)。你有没有试图对所有的模板域进行注释并将它们添加到一个? – Pleun 2011-06-01 08:21:14

回答

1

您是否搜索了代码隐藏文件?

也许复选框被注入?

复选框的ID是“ContentPlaceHolder2_dv_InsertComment_ctl01”,可能是一个动态添加的控件。

检查您的代码隐藏文件的任何字符串,如“InsertComment”或“dv_”或“_dv”等,并看看。

我只是猜测当然。

+0

未找到。离我最近的那个mindspin是 - 我将帐号从另一个控件转移到评论博客控件。 '//设置帐号 TextBox tbAcc =(TextBox)dv_InsertComment.FindControl(“tbAccountIns”); tbAcc.Text = account.Text; '(在输入参数(标签)帐户) – DoStuffZ 2011-06-01 10:04:10

+0

这是奇怪的没关系。鉴于复选框不在设计中,但在渲染标记中显示,它似乎是一个动态添加。在代码中是否有任何“CheckBox”类型的变体?我的意思是,必须有代码才能在某个点或另一个点读取复选框值? – Nope 2011-06-01 10:11:54

+0

我不在整个解决方案中使用任何CheckBox。甚至没有“记住我的登录信息”。 – DoStuffZ 2011-06-01 10:54:58