在网格视图中查找datetimepicker的控件

时间:2018-05-01 15:30:32

标签: c# asp.net bootstrap-4

我正在尝试在网格视图中添加一个bootstrap datetimepicker。问题是我不知道如何像文本框一样投射。这是我的datetimepicker的标记代码,也称为 txtStartDate

<ItemTemplate>
  <asp:TextBox ID="txtUnitDesc" runat="server"></asp:TextBox>
</ItemTemplate>

</asp:TemplateField>
<asp:TemplateField HeaderText="Start Date">
    <ItemTemplate>                             
            <div class='input-group date' id='datetimepicker'>
            <input class="form-control" id="txtStartDate" runat="server" name="date" placeholder="DD/MM/YYY" type="text" autocomplete="off" />
            <span class="input-group-addon">
            <span class="glyphicon glyphicon-calendar" style="color: green"> 
            </span>
            </span>
        </div>
    </ItemTemplate>

                              

我遇到的问题是我试图在我的c#代码中找到控件而我不知道该怎么做。我一直在网上寻找年龄,似乎无法找到直接的答案。这是我的代码的一个例子

foreach (GridViewRow gvr in gv_Quals.Rows)
{
    TextBox txt1 = (TextBox)gvr.Cells[2].FindControl("txtUnit");
    txt1.Text = DSprog.Tables[0].Rows[rp]["UnitName"].ToString();

    TextBox txt2 = (TextBox)gvr.Cells[3].FindControl("txtUnitDesc");
    txt2.Text = DSprog.Tables[0].Rows[rp]["UnitDesc"].ToString();

    TextBox txt3 = (TextBox)gvr.Cells[4].FindControl("txtStartDate");
    txt3.Text = DSprog.Tables[0].Rows[rp]["StartDate"].ToString();

    TextBox txt4 = (TextBox)gvr.Cells[5].FindControl("txtFinishDate");
    txt4.Text = DSprog.Tables[0].Rows[rp]["FinishDate"].ToString();

    TextBox txt5 = (TextBox)gvr.Cells[6].FindControl("txtCompletionStatus");
    txt5.Text = DSprog.Tables[0].Rows[rp]["CompletionStatus"].ToString();

    TextBox txt6 = (TextBox)gvr.Cells[7].FindControl("txtStaffID");
    txt6.Text = DSprog.Tables[0].Rows[rp]["StaffID"].ToString();

    rp++;
}

我似乎无法找到正确的控制。有什么我想念的或者我做错了吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

您正在尝试查找TextBox控件,但您正在使用runat=server的正常输入。但是你需要寻找HtmlInputText

foreach (GridViewRow gvr in gv_Quals.Rows)
{
    HtmlInputText hit = row.FindControl("txtStartDate") as HtmlInputText;
    hit.Value = DSprog.Tables[0].Rows[rp]["StartDate"].ToString();
}