试图使用FindControl [英] Trying to use FindControl

查看:56
本文介绍了试图使用FindControl的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在GridView中获取项目的文本,但我正在做某事

错误。有人可以用我需要的正确C#语句来帮助我吗?下面是我的

GridView和我尝试获得控件。谢谢。


string option =

((TextBox)dgDropDownMenus.Items [e.Item.ItemIndex] .FindControl(" txtName"))。文字;


----------------------- DataGrid ------------ -------------------------------


< asp:datagrid id = " dgMenus" style =" Z-INDEX:101;左:0px;位置:

绝对值; TOP:0px"

runat =" server" DataKeyField = QUOT; DropDownMenuID" CellPadding =" 0>

BackColor =" White"边框= QUOT;无"字体-粗体="真" BorderWidth =" 1px"

BorderColor ="#999999"网格线= QUOT;垂直" Horizo​​ntalAlign =" Center"

AutoGenerateColumns =" False" Width =" 100%">

< FooterStyle ForeColor =" Black" BackColor =" #CCCCCC">< / FooterStyle>

< SelectedItemStyle Font-Bold =" True" Horizo​​ntalAlign =" Center"

Height =" 10px"前景色= QUOT;白色" VerticalAlign =" Middle"
BackColor ="#008A8C">< / SelectedItemStyle>

< EditItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" Width =" 50px"

VerticalAlign =" Middle">< / EditItemStyle>

< AlternatingItemStyle Horizo​​ntalAlign =" Center"高度=10px

VerticalAlign =" Middle" BackColor =" Gainsboro"< / AlternatingItemStyle>

< ItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" ForeColor =" Black

VerticalAlign =" Middle"

BackColor =" White">< / ItemStyle>

< ; HeaderStyle Wrap =" False" CssClass =" datagridheader">< / HeaderStyle>

< Columns>

< asp:ButtonColumn Text ="< img border =" 0" ; src =" ../ images / edit_icon.gif">"

HeaderText =" Edit" CommandName =" Edit">

< HeaderStyle Horizo​​ntalAlign =" Center" Width =" 5%">< / HeaderStyle>

< ItemStyle Horizo​​ntalAlign =" Center">< / ItemStyle>

< / asp:ButtonColumn>

< asp:TemplateColumn HeaderText =" Name">

< HeaderStyle Width =" 25px">< / HeaderStyle>

< ItemTemplate>

< asp:Label id =" lblName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:Label> ;

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" txtName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< asp:TemplateColumn HeaderText =" Description">

< HeaderStyle Width =" 70%">< / HeaderStyle>

< ItemTemplate>

< asp:标签runat =" server" Text =''<%#DataBinder.Eval(Container,

" DataItem.Description")%>''ID =" Label2">

< / asp:标签>

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" Textbox1" ; RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.Description")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< / Columns>

< PagerStyle VerticalAlign =" Middle" NextPageText =" Next - >"

PrevPageText ="< - Previous"

Horizo​​ntalAlign =" Center"前景色= QUOT;黑色" BackColor ="#999999"

Wrap =" False" Mode =" NumericPages">< / PagerStyle>

< / asp:datagrid>

I am trying to get the text of an item in a GridView, but am doing something
wrong. Can someone help me with the correct C# statement I need? Below is my
GridView and my attempt to get the control. Thank you.

string option =
((TextBox)dgDropDownMenus.Items[e.Item.ItemIndex].FindControl("txtName")).Text;

-----------------------DataGrid-------------------------------------------

<asp:datagrid id="dgMenus" style="Z-INDEX: 101; LEFT: 0px; POSITION:
absolute; TOP: 0px"
runat="server" DataKeyField="DropDownMenuID" CellPadding="0"
BackColor="White" BorderStyle="None" Font-Bold="True" BorderWidth="1px"
BorderColor="#999999" GridLines="Vertical" HorizontalAlign="Center"
AutoGenerateColumns="False" Width="100%">
<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" HorizontalAlign="Center"
Height="10px" ForeColor="White" VerticalAlign="Middle"
BackColor="#008A8C"></SelectedItemStyle>
<EditItemStyle HorizontalAlign="Center" Height="10px" Width="50px"
VerticalAlign="Middle"></EditItemStyle>
<AlternatingItemStyle HorizontalAlign="Center" Height="10px"
VerticalAlign="Middle" BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" Height="10px" ForeColor="Black"
VerticalAlign="Middle"
BackColor="White"></ItemStyle>
<HeaderStyle Wrap="False" CssClass="datagridheader"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="<img border="0" src="../images/edit_icon.gif">"
HeaderText="Edit" CommandName="Edit">
<HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Name">
<HeaderStyle Width="25px"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lblName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description">
<HeaderStyle Width="70%"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text=''<%# DataBinder.Eval(Container,
"DataItem.Description") %>'' ID="Label2">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="Textbox1" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.Description") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle VerticalAlign="Middle" NextPageText="Next -->"
PrevPageText="<-- Previous"
HorizontalAlign="Center" ForeColor="Black" BackColor="#999999"
Wrap="False" Mode="NumericPages"></PagerStyle>
</asp:datagrid>

推荐答案

您好,

它应该是:

DataGrid dgDropDownMenus =(DataGrid)发送者;

if(e.Item.ItemType.ToString()!= " Header"&& e.Item.ItemType.ToString()!=

" Footer")

{

string option =((TextBox)e.Item.FindControl(" txtName"))。文字;

}


虽然我已经为Datagrid编写了这段代码,你可以使用相同的

gridview,很少或没有修改。

谢谢和问候,

Manish Bafna。

MCP和MCTS。


" Mike Collins"写道:
Hi,
It should be:
DataGrid dgDropDownMenus= (DataGrid)sender;
if(e.Item.ItemType.ToString() != "Header" && e.Item.ItemType.ToString() !=
"Footer")
{
string option = ((TextBox )e.Item.FindControl("txtName")).Text;
}

Although i have written this code for Datagrid, you can use same for
gridview with little or no modification.
Thanks and Regards,
Manish Bafna.
MCP and MCTS.

"Mike Collins" wrote:

我试图在GridView中获取项目的文本,但我正在做某事

错误。有人可以用我需要的正确C#语句来帮助我吗?下面是我的

GridView和我尝试获得控件。谢谢。


string option =

((TextBox)dgDropDownMenus.Items [e.Item.ItemIndex] .FindControl(" txtName"))。文字;


----------------------- DataGrid ------------ -------------------------------


< asp:datagrid id = " dgMenus" style =" Z-INDEX:101;左:0px;位置:

绝对值; TOP:0px"

runat =" server" DataKeyField = QUOT; DropDownMenuID" CellPadding =" 0>

BackColor =" White"边框= QUOT;无"字体-粗体="真" BorderWidth =" 1px"

BorderColor ="#999999"网格线= QUOT;垂直" Horizo​​ntalAlign =" Center"

AutoGenerateColumns =" False" Width =" 100%">

< FooterStyle ForeColor =" Black" BackColor =" #CCCCCC">< / FooterStyle>

< SelectedItemStyle Font-Bold =" True" Horizo​​ntalAlign =" Center"

Height =" 10px"前景色= QUOT;白色" VerticalAlign =" Middle"
BackColor ="#008A8C">< / SelectedItemStyle>

< EditItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" Width =" 50px"

VerticalAlign =" Middle">< / EditItemStyle>

< AlternatingItemStyle Horizo​​ntalAlign =" Center"高度=10px

VerticalAlign =" Middle" BackColor =" Gainsboro"< / AlternatingItemStyle>

< ItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" ForeColor =" Black

VerticalAlign =" Middle"

BackColor =" White">< / ItemStyle>

< ; HeaderStyle Wrap =" False" CssClass =" datagridheader">< / HeaderStyle>

< Columns>

< asp:ButtonColumn Text ="< img border =" 0" ; src =" ../ images / edit_icon.gif">"

HeaderText =" Edit" CommandName =" Edit">

< HeaderStyle Horizo​​ntalAlign =" Center" Width =" 5%">< / HeaderStyle>

< ItemStyle Horizo​​ntalAlign =" Center">< / ItemStyle>

< / asp:ButtonColumn>

< asp:TemplateColumn HeaderText =" Name">

< HeaderStyle Width =" 25px">< / HeaderStyle>

< ItemTemplate>

< asp:Label id =" lblName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:Label> ;

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" txtName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< asp:TemplateColumn HeaderText =" Description">

< HeaderStyle Width =" 70%">< / HeaderStyle>

< ItemTemplate>

< asp:标签runat =" server" Text =''<%#DataBinder.Eval(Container,

" DataItem.Description")%>''ID =" Label2">

< / asp:标签>

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" Textbox1" ; RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.Description")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< / Columns>

< PagerStyle VerticalAlign =" Middle" NextPageText =" Next - >"

PrevPageText ="< - Previous"

Horizo​​ntalAlign =" Center"前景色= QUOT;黑色" BackColor ="#999999"

Wrap =" False" Mode =" NumericPages">< / PagerStyle>

< / asp:datagrid>

I am trying to get the text of an item in a GridView, but am doing something
wrong. Can someone help me with the correct C# statement I need? Below is my
GridView and my attempt to get the control. Thank you.

string option =
((TextBox)dgDropDownMenus.Items[e.Item.ItemIndex].FindControl("txtName")).Text;

-----------------------DataGrid-------------------------------------------

<asp:datagrid id="dgMenus" style="Z-INDEX: 101; LEFT: 0px; POSITION:
absolute; TOP: 0px"
runat="server" DataKeyField="DropDownMenuID" CellPadding="0"
BackColor="White" BorderStyle="None" Font-Bold="True" BorderWidth="1px"
BorderColor="#999999" GridLines="Vertical" HorizontalAlign="Center"
AutoGenerateColumns="False" Width="100%">
<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" HorizontalAlign="Center"
Height="10px" ForeColor="White" VerticalAlign="Middle"
BackColor="#008A8C"></SelectedItemStyle>
<EditItemStyle HorizontalAlign="Center" Height="10px" Width="50px"
VerticalAlign="Middle"></EditItemStyle>
<AlternatingItemStyle HorizontalAlign="Center" Height="10px"
VerticalAlign="Middle" BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" Height="10px" ForeColor="Black"
VerticalAlign="Middle"
BackColor="White"></ItemStyle>
<HeaderStyle Wrap="False" CssClass="datagridheader"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="<img border="0" src="../images/edit_icon.gif">"
HeaderText="Edit" CommandName="Edit">
<HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Name">
<HeaderStyle Width="25px"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lblName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description">
<HeaderStyle Width="70%"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text=''<%# DataBinder.Eval(Container,
"DataItem.Description") %>'' ID="Label2">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="Textbox1" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.Description") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle VerticalAlign="Middle" NextPageText="Next -->"
PrevPageText="<-- Previous"
HorizontalAlign="Center" ForeColor="Black" BackColor="#999999"
Wrap="False" Mode="NumericPages"></PagerStyle>
</asp:datagrid>


谢谢,但是我收到一个错误:对象引用未设置为

对象的实例。关于为什么会发生这种情况的任何想法?


" Manish Bafna"写道:
Thanks, but I get an error: Object reference not set to an instance of an
object. Any idea on why that is happening?

"Manish Bafna" wrote:



它应该是:

DataGrid dgDropDownMenus =(DataGrid)sender;

if(e.Item.ItemType.ToString()!=" Header"& e.Item.ItemType.ToString()!=

" Footer" )

{

string option =((TextBox)e.Item.FindControl(" txtName"))。Text;

}


虽然我已经为Datagrid编写了这个代码,你可以使用相同的

gridview,只需很少或不需要修改。

谢谢此致,

Manish Bafna。

MCP和MCTS。


" Mike Collins"写道:
Hi,
It should be:
DataGrid dgDropDownMenus= (DataGrid)sender;
if(e.Item.ItemType.ToString() != "Header" && e.Item.ItemType.ToString() !=
"Footer")
{
string option = ((TextBox )e.Item.FindControl("txtName")).Text;
}

Although i have written this code for Datagrid, you can use same for
gridview with little or no modification.
Thanks and Regards,
Manish Bafna.
MCP and MCTS.

"Mike Collins" wrote:

我试图在GridView中获取项目的文本,但我正在做某事

错误。有人可以用我需要的正确C#语句来帮助我吗?下面是我的

GridView和我尝试获得控件。谢谢。


string option =

((TextBox)dgDropDownMenus.Items [e.Item.ItemIndex] .FindControl(" txtName"))。文字;


----------------------- DataGrid ------------ -------------------------------


< asp:datagrid id = " dgMenus" style =" Z-INDEX:101;左:0px;位置:

绝对值; TOP:0px"

runat =" server" DataKeyField = QUOT; DropDownMenuID" CellPadding =" 0>

BackColor =" White"边框= QUOT;无"字体-粗体="真" BorderWidth =" 1px"

BorderColor ="#999999"网格线= QUOT;垂直" Horizo​​ntalAlign =" Center"

AutoGenerateColumns =" False" Width =" 100%">

< FooterStyle ForeColor =" Black" BackColor =" #CCCCCC">< / FooterStyle>

< SelectedItemStyle Font-Bold =" True" Horizo​​ntalAlign =" Center"

Height =" 10px"前景色= QUOT;白色" VerticalAlign =" Middle"
BackColor ="#008A8C">< / SelectedItemStyle>

< EditItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" Width =" 50px"

VerticalAlign =" Middle">< / EditItemStyle>

< AlternatingItemStyle Horizo​​ntalAlign =" Center"高度=10px

VerticalAlign =" Middle" BackColor =" Gainsboro"< / AlternatingItemStyle>

< ItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" ForeColor =" Black

VerticalAlign =" Middle"

BackColor =" White">< / ItemStyle>

< ; HeaderStyle Wrap =" False" CssClass =" datagridheader">< / HeaderStyle>

< Columns>

< asp:ButtonColumn Text ="< img border =" 0" ; src =" ../ images / edit_icon.gif">"

HeaderText =" Edit" CommandName =" Edit">

< HeaderStyle Horizo​​ntalAlign =" Center" Width =" 5%">< / HeaderStyle>

< ItemStyle Horizo​​ntalAlign =" Center">< / ItemStyle>

< / asp:ButtonColumn>

< asp:TemplateColumn HeaderText =" Name">

< HeaderStyle Width =" 25px">< / HeaderStyle>

< ItemTemplate>

< asp:Label id =" lblName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:Label> ;

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" txtName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< asp:TemplateColumn HeaderText =" Description">

< HeaderStyle Width =" 70%">< / HeaderStyle>

< ItemTemplate>

< asp:标签runat =" server" Text =''<%#DataBinder.Eval(Container,

" DataItem.Description")%>''ID =" Label2">

< / asp:标签>

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" Textbox1" ; RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.Description")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< / Columns>

< PagerStyle VerticalAlign =" Middle" NextPageText =" Next - >"

PrevPageText ="< - Previous"

Horizo​​ntalAlign =" Center"前景色= QUOT;黑色" BackColor ="#999999"

Wrap =" False" Mode =" NumericPages">< / PagerStyle>

< / asp:datagrid>
I am trying to get the text of an item in a GridView, but am doing something
wrong. Can someone help me with the correct C# statement I need? Below is my
GridView and my attempt to get the control. Thank you.

string option =
((TextBox)dgDropDownMenus.Items[e.Item.ItemIndex].FindControl("txtName")).Text;

-----------------------DataGrid-------------------------------------------

<asp:datagrid id="dgMenus" style="Z-INDEX: 101; LEFT: 0px; POSITION:
absolute; TOP: 0px"
runat="server" DataKeyField="DropDownMenuID" CellPadding="0"
BackColor="White" BorderStyle="None" Font-Bold="True" BorderWidth="1px"
BorderColor="#999999" GridLines="Vertical" HorizontalAlign="Center"
AutoGenerateColumns="False" Width="100%">
<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" HorizontalAlign="Center"
Height="10px" ForeColor="White" VerticalAlign="Middle"
BackColor="#008A8C"></SelectedItemStyle>
<EditItemStyle HorizontalAlign="Center" Height="10px" Width="50px"
VerticalAlign="Middle"></EditItemStyle>
<AlternatingItemStyle HorizontalAlign="Center" Height="10px"
VerticalAlign="Middle" BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" Height="10px" ForeColor="Black"
VerticalAlign="Middle"
BackColor="White"></ItemStyle>
<HeaderStyle Wrap="False" CssClass="datagridheader"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="<img border="0" src="../images/edit_icon.gif">"
HeaderText="Edit" CommandName="Edit">
<HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Name">
<HeaderStyle Width="25px"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lblName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description">
<HeaderStyle Width="70%"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text=''<%# DataBinder.Eval(Container,
"DataItem.Description") %>'' ID="Label2">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="Textbox1" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.Description") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle VerticalAlign="Middle" NextPageText="Next -->"
PrevPageText="<-- Previous"
HorizontalAlign="Center" ForeColor="Black" BackColor="#999999"
Wrap="False" Mode="NumericPages"></PagerStyle>
</asp:datagrid>




你能告诉你哪一行得到这个错误?很可能

你将在DataGrid的更新事件中使用这行findcontrol.If

你给出了使用这个findcontrol代码的地方的详细信息,或者使用那个

事件你的使用然后我才能帮你解决。


谢谢和问候,

Manish Bafna。

MCP和MCTS。


" Mike Collins"写道:
Hi,
can you please tell at which line you are getting this error?Most probably
you would be using this line of findcontrol in update event of DataGrid.If
you give details as to where r using this code of findcontrol or in which
event u r using then only i would be able to help you out.

Thanks and Regards,
Manish Bafna.
MCP and MCTS.

"Mike Collins" wrote:

谢谢,但我收到一个错误:对象引用未设置为

对象的实例。关于为什么会发生这种情况的任何想法?


" Manish Bafna"写道:
Thanks, but I get an error: Object reference not set to an instance of an
object. Any idea on why that is happening?

"Manish Bafna" wrote:



它应该是:

DataGrid dgDropDownMenus =(DataGrid)sender;

if(e.Item.ItemType.ToString()!=" Header"& e.Item.ItemType.ToString()!=

" Footer" )

{

string option =((TextBox)e.Item.FindControl(" txtName"))。Text;

}


虽然我已经为Datagrid编写了这个代码,你可以使用相同的

gridview,只需很少或不需要修改。

谢谢此致,

Manish Bafna。

MCP和MCTS。


" Mike Collins"写道:
Hi,
It should be:
DataGrid dgDropDownMenus= (DataGrid)sender;
if(e.Item.ItemType.ToString() != "Header" && e.Item.ItemType.ToString() !=
"Footer")
{
string option = ((TextBox )e.Item.FindControl("txtName")).Text;
}

Although i have written this code for Datagrid, you can use same for
gridview with little or no modification.
Thanks and Regards,
Manish Bafna.
MCP and MCTS.

"Mike Collins" wrote:

我试图在GridView中获取项目的文本,但我正在做某事

错误。有人可以用我需要的正确C#语句来帮助我吗?下面是我的

GridView和我尝试获得控件。谢谢。

>

string option =

((TextBox)dgDropDownMenus.Items [e.Item.ItemIndex] .FindControl(" ; txtName"))。文字;

>

----------------------- DataGrid -------------------------------------------

>

< asp:datagrid id =" dgMenus" style =" Z-INDEX:101;左:0px;位置:

绝对值; TOP:0px"

runat =" server" DataKeyField = QUOT; DropDownMenuID" CellPadding =" 0>

BackColor =" White"边框= QUOT;无"字体-粗体="真" BorderWidth =" 1px"

BorderColor ="#999999"网格线= QUOT;垂直" Horizo​​ntalAlign =" Center"

AutoGenerateColumns =" False" Width =" 100%">

< FooterStyle ForeColor =" Black" BackColor =" #CCCCCC">< / FooterStyle>

< SelectedItemStyle Font-Bold =" True" Horizo​​ntalAlign =" Center"

Height =" 10px"前景色= QUOT;白色" VerticalAlign =" Middle"
BackColor ="#008A8C">< / SelectedItemStyle>

< EditItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" Width =" 50px"

VerticalAlign =" Middle">< / EditItemStyle>

< AlternatingItemStyle Horizo​​ntalAlign =" Center"高度=10px

VerticalAlign =" Middle" BackColor =" Gainsboro"< / AlternatingItemStyle>

< ItemStyle Horizo​​ntalAlign =" Center"高度= QUOT; 10px的" ForeColor =" Black

VerticalAlign =" Middle"

BackColor =" White">< / ItemStyle>

< ; HeaderStyle Wrap =" False" CssClass =" datagridheader">< / HeaderStyle>

< Columns>

< asp:ButtonColumn Text ="< img border =" 0" ; src =" ../ images / edit_icon.gif">"

HeaderText =" Edit" CommandName =" Edit">

< HeaderStyle Horizo​​ntalAlign =" Center" Width =" 5%">< / HeaderStyle>

< ItemStyle Horizo​​ntalAlign =" Center">< / ItemStyle>

< / asp:ButtonColumn>

< asp:TemplateColumn HeaderText =" Name">

< HeaderStyle Width =" 25px">< / HeaderStyle>

< ItemTemplate>

< asp:Label id =" lblName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:Label> ;

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" txtName" RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.DisplayName")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< asp:TemplateColumn HeaderText =" Description">

< HeaderStyle Width =" 70%">< / HeaderStyle>

< ItemTemplate>

< asp:标签runat =" server" Text =''<%#DataBinder.Eval(Container,

" DataItem.Description")%>''ID =" Label2">

< / asp:标签>

< / ItemTemplate>

< EditItemTemplate>

< asp:TextBox id =" Textbox1" ; RUNAT = QUOT;服务器" Text =''<%#

DataBinder.Eval(Container," DataItem.Description")%>''>

< / asp:TextBox> ;

< / EditItemTemplate>

< / asp:TemplateColumn>

< / Columns>

< PagerStyle VerticalAlign =" Middle" NextPageText =" Next - >"

PrevPageText ="< - Previous"

Horizo​​ntalAlign =" Center"前景色= QUOT;黑色" BackColor ="#999999"

Wrap =" False" Mode =" NumericPages">< / PagerStyle>

< / asp:datagrid>

>

>
I am trying to get the text of an item in a GridView, but am doing something
wrong. Can someone help me with the correct C# statement I need? Below is my
GridView and my attempt to get the control. Thank you.
>
string option =
((TextBox)dgDropDownMenus.Items[e.Item.ItemIndex].FindControl("txtName")).Text;
>
-----------------------DataGrid-------------------------------------------
>
<asp:datagrid id="dgMenus" style="Z-INDEX: 101; LEFT: 0px; POSITION:
absolute; TOP: 0px"
runat="server" DataKeyField="DropDownMenuID" CellPadding="0"
BackColor="White" BorderStyle="None" Font-Bold="True" BorderWidth="1px"
BorderColor="#999999" GridLines="Vertical" HorizontalAlign="Center"
AutoGenerateColumns="False" Width="100%">
<FooterStyle ForeColor="Black" BackColor="#CCCCCC"></FooterStyle>
<SelectedItemStyle Font-Bold="True" HorizontalAlign="Center"
Height="10px" ForeColor="White" VerticalAlign="Middle"
BackColor="#008A8C"></SelectedItemStyle>
<EditItemStyle HorizontalAlign="Center" Height="10px" Width="50px"
VerticalAlign="Middle"></EditItemStyle>
<AlternatingItemStyle HorizontalAlign="Center" Height="10px"
VerticalAlign="Middle" BackColor="Gainsboro"></AlternatingItemStyle>
<ItemStyle HorizontalAlign="Center" Height="10px" ForeColor="Black"
VerticalAlign="Middle"
BackColor="White"></ItemStyle>
<HeaderStyle Wrap="False" CssClass="datagridheader"></HeaderStyle>
<Columns>
<asp:ButtonColumn Text="<img border="0" src="../images/edit_icon.gif">"
HeaderText="Edit" CommandName="Edit">
<HeaderStyle HorizontalAlign="Center" Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
</asp:ButtonColumn>
<asp:TemplateColumn HeaderText="Name">
<HeaderStyle Width="25px"></HeaderStyle>
<ItemTemplate>
<asp:Label id="lblName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="txtName" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.DisplayName") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="Description">
<HeaderStyle Width="70%"></HeaderStyle>
<ItemTemplate>
<asp:Label runat="server" Text=''<%# DataBinder.Eval(Container,
"DataItem.Description") %>'' ID="Label2">
</asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox id="Textbox1" runat="server" Text=''<%#
DataBinder.Eval(Container, "DataItem.Description") %>''>
</asp:TextBox>
</EditItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle VerticalAlign="Middle" NextPageText="Next -->"
PrevPageText="<-- Previous"
HorizontalAlign="Center" ForeColor="Black" BackColor="#999999"
Wrap="False" Mode="NumericPages"></PagerStyle>
</asp:datagrid>
>
>


这篇关于试图使用FindControl的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆