Gridview检查每一行并更新

时间:2016-11-29 06:44:53

标签: c# asp.net gridview

我有一个gridview,gridview数据来自数据库。我有一个 asp:FileUpload 的最后一栏,供用户插入新的附件,如果他们想要,我想在这里做的事情是,我的后端c#将检查行asp文件上传是否为空,然后将新版本上传到该表单。如果为空,则不要将新版本上传到该表单。

<asp:TemplateField HeaderText="Upload New Form" HeaderStyle-BackColor="DarkBlue" HeaderStyle-Font-Bold="false" HeaderStyle-ForeColor="White" ItemStyle-Width="5%">
        <ItemTemplate>
           <asp:FileUpload  ID="newdoc" runat="server"/>
       </ItemTemplate>
</asp:TemplateField>

find_program

这是我为用户创建的列,如果他们想要插入新文件。

protected void Button11_Click(object sender, EventArgs e)
{
    //System.Diagnostics.Debugger.Launch();
    string data = "";
    foreach (GridViewRow row in GridView3.Rows)
    {
        if (row.RowType == DataControlRowType.DataRow)
        {
            FileUpload chkRow = (row.Cells[7].FindControl("newdoc") as FileUpload);
            if (FileUploadControl.HasFile)
            {
                string id = row.Cells[2].Text + '-'+row.Cells[3].Text;
                data = data + id + ",";
            }
        }
    }
    string[] alldata = data.Split(',');
    foreach (string dataid in alldata )
    {
        if (dataid.Equals(""))
            continue;
        ClientScript.RegisterStartupScript(GetType(), "alert", "alert('" + dataid + "');", true);
    }
}

我的c#逻辑是这样的,我会检查每一行,如果uploadcontrol不为空则不要将id添加到数据列表中,收集所有需要更新新版本的行后我将拆分列表更新它1 1,我试图提醒id但我得到的价值是空的。我做错了什么想法? 我在这一行中暂停了一些错误&#34; string id = row.Cells [2] .Text +&#39; - &#39; + row.Cells [3] .Text;&#34;

1 个答案:

答案 0 :(得分:0)

使用 BoundField 代替 TemplateField ..

string test = row.Cells [2] .Text;