C# 无法在GridView值(在BoundFields中)的模式弹出窗口中设置label.Text值

C# 无法在GridView值(在BoundFields中)的模式弹出窗口中设置label.Text值,c#,asp.net,gridview,modalpopupextender,C#,Asp.net,Gridview,Modalpopupextender,我有一个GridView,其中包含一个紧凑的SQL数据库中的几个边界字段(我使用的是C#中较旧的Visual Studio Express 2010) 我正在进行实验,并且已经读到,如果您的GridView字段是BoundFields而不是Template,那么提取值应该很容易: Label.Text = GridView1.SelectedRow.Cells[0].Text; (考虑到您的目标是选定行的值) 我试图在模式弹出扩展程序中显示该值,但它显示为空白。根本没有错误消息,调试器只会始终

我有一个GridView,其中包含一个紧凑的SQL数据库中的几个边界字段(我使用的是C#中较旧的Visual Studio Express 2010)

我正在进行实验,并且已经读到,如果您的GridView字段是BoundFields而不是Template,那么提取值应该很容易:

Label.Text = GridView1.SelectedRow.Cells[0].Text;
(考虑到您的目标是选定行的值)

我试图在模式弹出扩展程序中显示该值,但它显示为空白。根本没有错误消息,调试器只会始终将值显示为空。由于我是一名初学者,我猜我的错误可能是在零件的放置上,但我无法理解:

我的GridView定义包含以下内容:

onselectedindexchanged="GridView1_SelectedIndexChanged"
之后,我有一个面板,带有模式弹出扩展程序:

<asp:Panel ID="view" runat="server" CssClass="pnlBackGround">
    <asp:Label ID="vid" runat="server" ></asp:Label>
    <asp:Button ID="vclose" runat="server" Text="Cerrar" />
</asp:Panel>


<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender2" 
     PopupControlID="view" 
     OkControlID="vclose" 
     TargetControlID="f1" 
     BackgroundCssClass="modalBackground"
     runat="server">
</ajaxToolkit:ModalPopupExtender>
我认为这段代码应该获取所选行的第一个单元格的值,并将其作为“vid”标签的文本,然后用该信息打开弹出扩展程序


我做错了什么(可能很傻)?

我已经有一段时间没有使用ajaxToolkit了。但我确实记得ModalPopupXtender很难使用。话虽如此,我觉得这里的一切都很好。我唯一能想到的是“GridView1.SelectedRow.Cells[0].Text”实际上可能为空?你排除了吗?当然,你看到弹出窗口了吗?关闭按钮工作正常吗?是的,弹出窗口显示正常,关闭按钮工作正常。GridView1.SelectedRow.Cells[0]。文本包含一个1位数的id值,该值是数据库表的主键。我想获取该信息以在弹出窗口中显示,然后再运行其他sql查询。Ok。如果放置断点,然后将其添加到手表中:“GridView1.SelectedRow.Cells[0].Text”,它是否显示“1”?它是否显示“”,因此我知道该值没有到达标签,因为没有从gridview中正确获取。但是我想要的值位于行的第一个单元格中,所以它是单元格[0]。真奇怪。如果我不能解决这个问题,我会用javascript来解决,但我为什么会遇到这个问题,这很有趣。
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
 vid.Text = GridView1.SelectedRow.Cells[0].Text;
 this.ModalPopupExtender2.Show();
 }