Javascript 自定义日期选择器在GridView中不工作

Javascript 自定义日期选择器在GridView中不工作,javascript,c#,jquery,asp.net,gridview,Javascript,C#,Jquery,Asp.net,Gridview,我在ASP.NET中为日期选择字段使用以下代码 <asp:TemplateField ItemStyle-Width="10%" HeaderText="Date of Birth"> <EditItemTemplate> <br /> <asp:TextBox ID="text_master_dateedit" runat="server" Text='<%# Bind("MemberDOB", "{0:d

我在
ASP.NET
中为日期选择字段使用以下代码

<asp:TemplateField ItemStyle-Width="10%" HeaderText="Date of Birth">
    <EditItemTemplate>
        <br />
        <asp:TextBox ID="text_master_dateedit" runat="server" Text='<%# Bind("MemberDOB", "{0:dd/MM/yyyy}") %>' Width="60%" CssClass="textfoot" ValidationGroup="editing" MaxLength="10" onkeypress="return false;" onkeyup="return false;" oncontextmenu="return false;" onpaste="return false;"></asp:TextBox> &nbsp;
        <a href="javascript:NewCssCal('<%=text_master_dateedit.ClientID %>','DDMMYYYY')"><img id="Img1" alt="Pick a Date" src="Images/cal.png" width="25" height="25" style="vertical-align:middle;" /></a><br />
        <asp:RequiredFieldValidator ID="requireddateedit" runat="server" ValidationGroup="editing" ForeColor="Red" Font-Bold="false" ControlToValidate="text_master_dateedit" ErrorMessage="Date required">*Required</asp:RequiredFieldValidator>
    </EditItemTemplate>
    <ItemTemplate>
        <asp:Label ID="label_master_dateview" runat="server" Text='<%# Bind("MemberDOB", "{0:dd/MM/yyyy}") %>'></asp:Label>
    </ItemTemplate>
    <FooterTemplate>
        <br />
        <asp:TextBox ID="text_master_datenew" runat="server" Text='<%# Bind("MemberDOB", "{0:dd/MM/yyyy}") %>' Width="60%" CssClass="textfoot" ValidationGroup="adding" MaxLength="10" onkeypress="return false;" onkeyup="return false;" oncontextmenu="return false;" onpaste="return false;"></asp:TextBox> &nbsp;
        <a href="javascript:NewCssCal('<%=text_master_datenew.ClientID %>','DDMMYYYY')"><img id="Img1" alt="Pick a Date" src="Images/cal.png" width="25" height="25" style="vertical-align:middle;" /></a><br />
        <asp:RequiredFieldValidator ID="requireddatenew" runat="server" ValidationGroup="adding" ForeColor="White" Font-Bold="false" ControlToValidate="text_master_datenew" ErrorMessage="Date required">*Required</asp:RequiredFieldValidator>
    </FooterTemplate>
</asp:TemplateField>
是否有类似的方式访问此行中的文本字段?我想让这条线起作用。是否有办法访问文本字段
text\u master\u dateedit
(gridview中的文本字段)的ID而不是
“”

这不起作用。

protected void gv_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
    GridViewRow row = (GridViewRow)gv.Rows[e.RowIndex];
    string date = ((TextBox)row.Cells[0].FindControl("text_master_dateedit")).‌​Text;
}
<a href="javascript:NewCssCal('<%=text_master_dateedit.ClientID %>','DDMMYYYY')"><img id="Img1" alt="Pick a Date" src="Images/cal.png" width="25" height="25" style="vertical-align:middle;" /></a>

在页面加载中,我只选择了
Tab1
,这是aspx页面的第一个选项卡。我在页面和三个选项卡中总共有三个
GridView
。我正在使用

创建选项卡。您的代码显示:

字符串日期= ((TextBox)row.Cells[0].FindControl(“text\u master\u dateedit”))。‌​文本

这里的
行是什么

你能试试这个吗

TextBox dateTxt   = (TextBox)GridViewID.Rows[CellIndex].FindControl("text_master_dateedit");
string dateString = dateTxt.Text;
对于客户端,您可以找到文本框的客户端id,如下所示:

'<%# ((GridViewRow)Container).FindControl("textDateSent").ClientID %>'
“”
参考文献


希望这有帮助

很明显,您正在访问当前不存在的项目。你能给我们看看你的密码吗?此外:您何时收到该消息?在页面加载期间?在编译时?我的后端是一个JavaScript函数
函数NewCssCal(pCtrl、pFormat、pScroller、pShowTime、ptimomeode、pHideSeconds)
,它获取所选日期并将其放入文本字段。这工作正常。只有当我将文本字段放在网格视图中时,它才不起作用。
GridView
的代码隐藏包含数据的正常提取和绑定。如果我使用
JQuery
使用一个普通的
日期选择器,这同样有效。但我想让这个自定义日期选择器工作。代码运行良好。我的问题是如何将GridView中文本字段的ID赋予NewCssCal函数。我在页面加载过程中收到这个错误。在C#中,我使用以下代码访问此文本字段<代码>字符串日期=((文本框)行.Cells[0]。FindControl(“text\u master\u dateedit”)).text。我想用类似的方法或其他方法将文本字段传递到NewCssCal函数中。那么,当出现错误时,为什么不向我们展示一下页面加载方法呢?我在问题中添加了页面加载代码。实际上,该代码在C#side中工作。关于如何访问C#中的文本字段,我已经更新了完整的代码。它起作用了。但它在ASPX页面中不起作用。这一行显示错误
我改成了这个
,但我得到了这个错误
CS0118:“MasterPage.gv”是一个“字段”,但像“类型”一样使用。
。母版页是aspx页的名称。确定完成。。刚才改了,它正在工作:)谢谢+1.
'<%# ((GridViewRow)Container).FindControl("textDateSent").ClientID %>'