我有一个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>
这是我为用户创建的列,如果他们想要插入新文件。
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;
答案 0 :(得分:0)
使用 BoundField 代替 TemplateField ..
string test = row.Cells [2] .Text;