它不识别文本框。 编译错误 编译器错误消息:CS0103:当前上下文中不存在名称“txt-6ren">
gpt4 book ai didi

javascript - Gridview 编辑项模板中无法识别文本框

转载 作者:行者123 更新时间:2023-11-29 15:05:32 25 4
gpt4 key购买 nike

我正在尝试使用日历控件在编辑模式下填充 gridview 单元格中的文本框。

错误在于这一行

<a href="javascript:OpenPopupPage('Calendar.aspx','<%= txtGvEditTeDate.ClientID %>','<%= Page.IsPostBack %>');">

它不识别文本框。

编译错误

编译器错误消息:CS0103:当前上下文中不存在名称“txtGvEditTeDate”

来源错误:

<EditItemTemplate>
<asp:TextBox ID="txtGvEditTeDate" runat="server" onfocus="blur();"
Text='<%# Bind("TimeEntryDate", "{0:d}") %>'>
</asp:TextBox>

<a href="javascript:OpenPopupPage('Calendar.aspx','<%= txtGvEditTeDate.ClientID %>','<%= Page.IsPostBack %>');">
<img src="images/icon-calendar.gif" border="0" align="middle" ></a>
</EditItemTemplate>

编辑

我在 <a> 中添加了 runat="server"现在我没有收到错误,但是当在日历控件中选择一个日期时,它是否没有被插入到 txtGvEditTeDate 文本框中。

最佳答案

考虑制作它 <a id="r1" runat="server" />

然后,在 RowDataBound 或 RowEditing 中,执行:

var ctl = e.Row.FindControl("txtGvEditTeDate");
var link = e.Row.FindControl("r1");
link.href = "javascript ...";

并从服务器分配。此外,您可能需要执行以下操作: e.Row.Cells[] 以引用单元格,因为行查找控件有时对我不起作用。

编辑:如果您在将日期映射回编辑控件时遇到问题,那可能是因为每个控件都映射有附加到它的 gridview 的 ID(查看源代码以了解我的意思),因此,控件不能由 txtGvEditTeDate 引用,因此您将不得不想出一个解决方法。一种方法可能是将文本框引用存储在客户端 javascript 变量中,该变量可以潜在地在链接 href 语句中设置。这变得有点复杂。

关于javascript - Gridview 编辑项模板中无法识别文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3469557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com