我是 asp.net 网站开发人员的新手。在我的网站中,我使用 GridView 控件。在 GridView 行中,我放置了一些控件,例如 TextBox、DropDownList。
我可以在 GridView 中显示值。
但我的要求是,从 GridView 中存在的 TextBox 和 DropdownList 中获取值。
请帮助我前进..
谢谢你,再见..
我是 asp.net 网站开发人员的新手。在我的网站中,我使用 GridView 控件。在 GridView 行中,我放置了一些控件,例如 TextBox、DropDownList。
我可以在 GridView 中显示值。
但我的要求是,从 GridView 中存在的 TextBox 和 DropdownList 中获取值。
请帮助我前进..
谢谢你,再见..
您需要按行访问它们。这篇代码项目文章详细解释了它。
TextBox tb = (TextBox)gridview1.Rows[0].FindControl("idOfTextBox");
上面的语句将在具有 ididOfTextBox
和 type的网格的第一行中找到控件textbox
。
不仅是文本框,我们还可以从 gridview 中使用的所有控件获取值,这些控件通过使用 itemTemplate 或简单的 Bound field 放置。
您需要为每一行循环以获取值
foreach (GridViewRow row in grd_popup_details.Rows)
{
//get control values
}
您可以通过直接转换直接获取任何控件的任何值,而无需使用额外的文本框或下拉变量。
例子:
string val = ((TextBox)gridview1.Rows[0].FindControl("TextBox_ID")).Text;
希望能帮助到你 :)
Subscribe the RowDataBound event(this will be fired on each row available in gridview) of gridview and access like stated below,
protected void grdBillingdata_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
//these controls are available inside gridview
HiddenField hdnNagetiveAmt = (HiddenField)e.Row.FindControl("hdnNagetiveAmt");
DropDownList ddlFeeType = (DropDownList)e.Row.FindControl("ddlFeeType");
TextBox txtFeeDesc = (TextBox)e.Row.FindControl("txtFeeDesc");
Button btnUpdate = (Button)e.Row.FindControl("btnUpdate");
}
}