string percentage = e.Row.Cells[7].Text;

我正试图用GridView做一些动态的事情,所以我给RowDataBound事件连接了一些代码.我试图从一个特定的单元格中获取值,这是一个TemplateField.但上面的代码似乎总是返回一个空字符串.

有什么 idea 吗?

为了澄清,这里有一点令人不快的单元格:

<asp:TemplateField HeaderText="# Percentage click throughs">
<ItemTemplate>
    <%# AddPercentClickThroughs((int)Eval("EmailSummary.pLinksClicked"), (int)Eval("NumberOfSends")) %>
</ItemTemplate>
</asp:TemplateField>

另一方面,是否有人知道是否有更好的方法来 Select 行中的单元格.投cell[1]分太糟糕了.我不能做cell["mycellname"],所以如果我决定改变我细胞的顺序,虫子就不会出现了?

推荐答案

首先,您需要将代码包装在LabelLiteral控件中,以便可以正确引用它.现在的情况是,系统无法跟踪它,因为没有与文本相关联的控件.将其内容添加到视图状态是控件的责任.

你需要使用gridView.FindControl("controlName");来控制这排人.从那里你可以看到它的属性,包括Text个.

您还可以获取相关行的DataItem属性,将其转换为适当的类型,并直接提取信息.

Asp.net相关问答推荐

ASP.NET MVC项目中的产品采购并发性测试

什么是 SNIReadSyncOverAsync,为什么需要很长时间才能完成?

Web API Queryable - 如何应用 AutoMapper?

System.Web.Helpers.Crypto - 盐在哪里?

ASP.NET 控件无法在 Visual Studio 2008 的代码隐藏中引用

如何在 FileUpload 控件中限制文件类型

无法从 App_code 文件夹中找到类型或命名空间

UseSqlServer 方法缺少 MVC 6

如何为角色以及特定用户使用自定义授权属性?

ASP.net 与 PHP( Select 什么)

具有自定义报告创建能力的最佳 ASP.NET 报告引擎

MVC3 值 Ajax 文件上传

避免将重复元素添加到列表 C#

压力测试 ASP.Net 应用程序

在后面的代码中删除 css 类

从物理路径获取相对虚拟路径

在.net的内存数据库中

以编程方式滚动到锚标记

将字符串转换为时间

ASP.NET MVC2/3 中runAllManagedModulesForAllRequests的正确用法是什么?