row.Cells [4] .Text在GridView1_SelectedIndexChanged中什么都不返回? - c#

我的页面中有一个GridView:

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" BackColor="White"
    AutoGenerateColumns="False" EmptyDataText="No data available." BorderColor="#DEDFDE"
    BorderStyle="None" BorderWidth="1px" CellPadding="4" Width="729px" ForeColor="Black"
    GridLines="Vertical" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <RowStyle BackColor="#F7F7DE" />
    <Columns>
        <asp:TemplateField HeaderText="TransactionKey" SortExpression="TransactionKey">
            <EditItemTemplate>
                <asp:TextBox ID="TextBoxGridViewTransactionKey" runat="server" Text='<%# Bind("TextBoxTransactionKey") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="LabelGridViewTransactionKey" runat="server" Text='<%# Bind("TextBoxTransactionKey") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle Font-Size="14px" />
            <ItemStyle Font-Size="12px" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="TerminalID" SortExpression="TerminalID">
            <EditItemTemplate>
                <asp:TextBox ID="TextBoxGridViewTerminalID" runat="server" Text='<%# Bind("TextBoxTerminalID") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="LabelGridViewTerminalID" runat="server" Text='<%# Bind("TextBoxTerminalID") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle Font-Size="14px" />
            <ItemStyle Font-Size="12px" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="MerchantID" SortExpression="MerchantID">
            <EditItemTemplate>
                <asp:TextBox ID="TextBoxGridViewMerchantID" runat="server" Text='<%# Bind("TextBoxMerchantID") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="LabelGridViewMerchantID" runat="server" Text='<%# Bind("TextBoxMerchantID") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle Font-Size="14px" />
            <ItemStyle Font-Size="12px" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="شماره حساب" SortExpression="شماره حساب">
            <EditItemTemplate>
                <asp:TextBox ID="TextBoxGridViewBankAccount" runat="server" Text='<%# Bind("TextBoxBankAccount") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="LabelGridViewBankAccount" runat="server" Text='<%# Bind("TextBoxBankAccount") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle Font-Size="14px" />
            <ItemStyle Font-Size="12px" />
        </asp:TemplateField>
        <asp:TemplateField HeaderText="نام بانک" SortExpression="نام بانک">
            <EditItemTemplate>
                <asp:TextBox ID="TextBoxGridViewBankName" runat="server" Text='<%# Bind("BankName") %>'></asp:TextBox>
            </EditItemTemplate>
            <ItemTemplate>
                <asp:Label ID="LabelGridViewBankName" runat="server" Text='<%# Bind("BankName") %>'></asp:Label>
            </ItemTemplate>
            <HeaderStyle Font-Size="14px" />
            <ItemStyle Font-Size="12px" />
        </asp:TemplateField>
        <asp:CommandField ShowSelectButton="True" >
        <ItemStyle Font-Size="12px" />
        </asp:CommandField>
    </Columns>
    <FooterStyle BackColor="#CCCC99" />
    <PagerStyle ForeColor="Black" HorizontalAlign="Right" BackColor="#F7F7DE" />
    <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
    <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
    <AlternatingRowStyle BackColor="White" />
</asp:GridView>

我使用以下代码设置了数据源:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        LabelTitr.Text = "Add Banks";
        LabelResult.Text = "";
        if (Session["Username"] != null)
        {
            string permission = "";
            bool login = PublicMethods.CheckUsernamePass(Session["Username"].ToString(), Session["Password"].ToString(), out permission);
            if (!login)
            {
                permission = "";
                Response.Redirect("../Default.aspx");
                Session["Username"] = Session["Password"] = null;
                return;
            }
        }
        else
        {
            Response.Redirect("../Default.aspx");
            Session["Username"] = Session["Password"] = null;
            return;
        }

        if (!IsPostBack)
            BindDataToGridView1();
    }
    catch (Exception ex)
    {
        LabelResult.Text = ex.Message;
    }
}

void BindDataToGridView1()
{
    try
    {
        DataSet1 dataSet = new DataSet1();
        DataClasses2DataContext dbc2 = new DataClasses2DataContext();
        var Definitions = dbc2.Definitions;
        if (Definitions.Count() <= 0) return;
        foreach (var Definition in Definitions)
        {
            string bankName = dbc2.Banks.Where(c => c.BankID == Definition.BankID).First().BankName;
            string CheckBox = "<input name=\"CheckBoxSubmitChanges\" type=\"checkbox\" value=" + Definition.DefinitionID + " />";
            dataSet.DataTableBanks.Rows.Add(bankName, Definition.BankAccount, Definition.MerchantID, Definition.TerminalID, Definition.TerminalID);
            GridView1.DataSource = dataSet.DataTableBanks;
        }
        GridView1.DataBind();
    }
    catch (Exception ex)
    {
        LabelResult.Text = ex.Message;
    }
}

这是GridView1_SelectedIndexChanged方法:

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    GridViewRow row = GridView1.SelectedRow;
    string temp = row.Cells[4].Text;
    LabelResult.Text = temp;
}

但是temp string总是空的!
它出什么问题了 ?
谢谢

参考方案

如果是TemplateField,则必须使用FindControl(“ control ID”)选项,而不是单元格的文本。我将单元格4视为模板字段...

Div单击与单选按钮相同吗? - php

有没有一种方法可以使div上的click事件与表单环境中的单选按钮相同?我只希望下面的div提交值,单选按钮很丑代码输出如下:<input id="radio-2011-06-08" value="2011-06-08" type="radio" name="radio_date&#…

将python scikit学习模型导出到pmml - python

我想将python scikit-learn模型导出到PMML。哪个python软件包最合适?我阅读了有关Augustus的内容,但是我无法使用scikit-learn模型找到任何示例。 python大神给出的解决方案 SkLearn2PMML是 JPMML-SkLearn命令行应用程序周围的薄包装。有关受支持的Scikit-Learn Estimator和…

如何使用PHP从动态输入字段捕获数组值? - javascript

我正在编写一个在线时间跟踪网页,允许用户将学习时间输入该系统。用户将首先输入名称,然后根据日期输入学习时间。一天中可能会有多个学习时间。以下是我第一页的编码,<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"…

SOAPFaultException部署在Tomcat上时,但在GlassFish中工作正常 - java

朋友们,我一直在尝试很多,阅读了很多论坛,但无法理解为什么出现此问题。我使用契约优先方法创建了一个Jax-WS WebService。创建WSDL和XSD,然后使用wsimport工具生成其余工件,为SEI提供实现。将WebService应用程序部署到Eclipse Helios中的GlassFish(Glassfish适配器和Eclipse中安装的插件)。…

用jQuery填充模式形式 - javascript

我正在将订单表从数据库绘制到datatables(jquery插件)中。我要在每笔最后一笔交易或每笔交易中增加付款。问题是,如何获取单击添加付款按钮以添加付款的行的订单ID。其次,当点击addpayment时,它会弹出一个带有字段或订单号的模态表单。我想用在td中找到的订单ID填充该字段,并使其不可编辑或隐藏,但在提交模态表单时将其发布到服务器。表格和模式表…