如何调用GridView中的文本框
How to call a textbox that is in GridView
我有一个GridView,其中一列中有一个文本框。选择此文本框后,会弹出一个工件列表。当一篇文章被选中时,我需要在文本框中显示该文章。
<asp:UpdatePanel ID="udpPieceDetails" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView style="width:75%;float:left"
ID="gvPieceOutturns"
ShowHeaderWhenEmpty="false"
CssClass="tblResults"
runat="server"
OnRowDataBound="gvPieceOutturns_ItemDataBound"
DataKeyField="ID"
AutoGenerateColumns="false"
allowpaging="false"
AlternatingRowStyle-BackColor="#EEEEEE">
<HeaderStyle CssClass="tblResultsHeader" />
<Columns>
<asp:TemplateField HeaderText="Outturn Pce" SortExpression="OutturnPce">
<ItemTemplate>
<a style="float:none;width:16px;height:16px;margin-right:0px;left:0px;top:26px" title="Pick Type from list..." class="iconSearch" id="btnMemShowPieceType"></a>
<input type="text" id="txtMemPieceType" class="lookuppopup" onblur="CheckMemPiece(this.value)" style="text-transform:uppercase;width:40px" runat="server"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
在这里,我试图填充文本框:
function PopulateMemPiece(result) {
if (result.ID > 0) {
$("#<%= hfPieceType.ClientID %>").val(result.ID);
$("#<%= txtMemPieceType.ClientID %>").val(result.Code);
} else {
$("#<%= hfPieceType.ClientID %>").val(0);
$("#<%= txtMemPieceType.ClientID %>").val("");
}
}
但我得到了这个错误:
错误2586当前文件中不存在名称"txtMemPieceType"上下文
不会
gvPieceOutturns.FindControl("hfPieceType");
工作?
你也可以试试
ClientIDMode="Static"
在您的TextBoxes上,在它们上使用jQuery。
由于您试图在JavaScript中访问该控件,但它嵌套在Gridview中,我建议您在代码后面创建一个属性来解析该控件。我会将以下属性添加到.cs文件中:
Edit:控件也嵌套在TemplateField中,因此我们需要遍历Gridview的行,以找到需要更新的所需行。
protected HtmlInputText txtMemPieceType
{
get { return findMemPieceType(); }
}
private HtmlInputText findMemPieceType()
{
foreach (GridViewRow row in gvPieceOutturns.Rows)
{
if (/* Determine which row has the info you need */)
{
return row.FindControl("txtMemPieceType") as HtmlInputText;
}
}
}
您需要想出一种方法来区分哪些行需要更新。或者,如果当项目被选中时,有问题的行可以触发类似RowCommand的Gridview事件,那么你可以做类似的事情:
protected HtmlInputText txtMemPieceType { get; set; }
void gvPieceOutturns_RowCommand(Object sender, GridViewCommandEventArgs e)
{
int index = Convert.ToInt32(e.CommandArgument);
GridViewRow row = ContactsGridView.Rows[index];
txtMemPieceType = row.FindControl("txtMemPieceType") as HtmlInputText;
}
相关文章:
- 基于比较c#中gridview的文本框值来启用或禁用按钮
- 正在获取Gridview中文本框的客户端ID
- 使用 javascript 更改 Gridview 文本框的可见属性 true 在下拉列表的选定索引更改事件上为 tru
- 如何在javascript函数中获取文本框(位于Gridview内部)的值
- 使用 JavaScript 在 GridView 中查找和验证文本框和下拉列表
- 如何使用 JavaScript 在 GridView 中获取文本框值
- 使用 jquery 为 gridview 文本框赋值
- 如何使用Javascript从Gridview中的文本框中获取文本值
- JQuery 最接近的元素,来自 GridView 中的文本框
- 如何调用GridView中的文本框
- 用于在gridview中插入文本框值的javascript
- 如何使用javascript将文本框值插入到gridview中
- 如何从javascript函数设置gridview文本框的值
- gridview c#中文本框的Javascript验证
- 如何在gridview中自动完成文本框
- 适合GridView列中的长文本
- 在另一个文本框中插入GridView文本框值
- 使用Javascript在GridView内设置值文本框
- 使用JavaScript获取GridView的列名或标题文本
- 更改asp.net中gridview内文本框的背景颜色