Gridview内控件值取得问题

问题描述

问题,有一个GridView,Gridview内有一列Cells[1]在protectedvoidgrid__RowDataBound(objectsender,GridViewRowEventArgse)方法里设置是这样设置的e.Row.Cells[1].Text=div;div是动态构造的表格div+="<tableid="tbl_Caption"div+="<td><inputname="Time_Hearing_A"现在我要在后台为Time_Hearing_A的input控件添加事件写是这么写的HtmlInputTextnpt=(HtmlInputText)e.Row.Cells[1].FindControl("Time_Hearing_A")但这一句执行就报错,显示错误”未将对象引用到实例中“。请问有谁知道怎么取得Time_Hearing_A控件对象?请注意,我这个input控件是以这样的形式放的e.Row.Cells[1].Text=div;并不是直接在gridview内的单元格内放置的input控件。

解决方案

解决方案二:
注意,这里的div+="<td><inputname="Time_Hearing_A"里已经为input控件申明了是runat="server"类型
解决方案三:
顶啊
解决方案四:
name="Time_Hearing_A"改成id="Time_Hearing_A"看看
解决方案五:
首先,你必须通过id取,而不是name另外,加上runat如果你打算精确控制布局,用GridView是不行的,用Repeater,如果你熟悉js,可以用Repeater实现GridView的全部功能,更好的是,你能控制每一部分。
解决方案六:
或者Request.Params["Time_Hearing_A"]
解决方案七:
引用3楼dd__dd的回复:

name="Time_Hearing_A"改成id="Time_Hearing_A"看看

id我其实程序里也写了,只是这里没写出来。不过一样没用还是报“未将对象引用到实例中”
解决方案八:
FindControl('')找的是控件的Id属性,在你构造<inputname="Time_Hearing_A">时再加上一个id属性如下<inputname="Time_Hearing_A"id="Time_Hearing_A">

解决方案九:
引用5楼dd__dd的回复:

或者Request.Params["Time_Hearing_A"]

这个只是取值,我要的是取得这个对象,并对其添加事件
解决方案十:
我再说一下1.id我已经写了,报同样的错2.runat="server"我也写了3.如果Gridview内绑定input的模板列,那么这个input控件我在后台用findcontrol是能取到的问题是,现在我这里用的是e.Row.Cells[1].Text=div,就是说gridview内的第2个单元格内我用一个div层来实现具体内容的,而input控件是放在div里的。这个时候,用HtmlInputTextnpt=(HtmlInputText)e.Row.Cells[1].FindControl("Time_Hearing_A")这个语句取控件,一直是报“未将对象引用到实例”的错。
解决方案十一:
看来这个问题难倒大家了

时间: 2024-10-26 00:26:19

Gridview内控件值取得问题的相关文章

ASP.NET MVC加载用户控件后如何获取其内控件值或赋值

有网友看了这篇<ASP.NET MVC加载ASCX之后,并为之赋值>http://www.cnblogs.com/insus/p/3643254.html 之后,问及Insus.NET,不想在控件制器内进行赋值,而是想在视图中使用jQuery来获取用户控件内的控件值或是为它们赋值.那需要怎样来做呢? 下面Insus.NET花上少少时间,做个简单的例子,演示与分享实现的方法. 实现之前,先修改一下AscxUtility.cs这个类中的 public static HtmlString Rende

Windows 8风格应用开发入门 六 GridView数据控件

什么是GridView数据控件? GridView控件用来显示数据集合.它继承自ItemsControl.通常使用GridView控件来横向显示数据,并且显示的数据通常是排序过的.另外我们一般开发水平视图时,通常使用GridView显示数据集合. GridView数据控件包含的重要属性和事件: 1) IsItemClickEnabled属性:获取或设置点击列表项是否会触发Click事件: 2) SelectionMode属性:获取或设置选择的模式: 3) HeaderTemplate属性:获取或

asp.net-急死 为什么找不gridview的控件

问题描述 急死 为什么找不gridview的控件 public partial class Styles_Search : System.Web.UI.Page { List message = new List(); MyPetShopDataContext db = new MyPetShopDataContext(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { } } protecte

在运行asp.net时有这样的错误。类型“GridView”的控件“ctl00_ContentPlaceHolderMain_GridView1”必须放在具有

问题描述 在运行asp.net时有这样的错误.类型"GridView"的控件"ctl00_ContentPlaceHolderMain_GridView1"必须放在具有runat=server的窗体标记内.不知道大家有没有遇到过,是怎么回事.我的当前页明明都有runat=server标记啊问题已解决:只需保证标签ItemTemplate里面不出现服务器控件就没问题<ItemTemplate></ItemTemplate> 解决方案 解决方案二

统一的获取,设置UI控件值

在编写WebForm或WinForm程序时,我们经常需要编写很多获取,设置UI控件值代码.这确实 是一件重复,麻烦而又容易出错的工作.所以我们应该将这个工作交给计算机去做解放我们的 劳动力.一般来说UI上的控件都是和我们的EntityObject相对应的,所以利用反射将 EntityObject中属性值赋给控件或通过控件填充EntityObject是非常方便的.但是要想让计算 机自动干活就要顶一个规则,就是控件ID = 前缀 + 属性名.比如我们有一个User类其定义如 下: class Use

解决CustomValidator控件不能验证控件值为空的问题

解决|控件|问题 在论坛上看到有关CustomValidator控件验证控件值为空的问题http://community.csdn.net/Expert/topic/3772/3772658.xml?temp=.9461634,正好我也遇到过,解决方法就是不要指定CustomValidator 控件的ControlToValidate,这样在提交的时候回进行验证,代码如下:<%@ Page Language="C#" AutoEventWireup="True"

asp.Net JS取母板页控件值的简单方法

这篇文章介绍了asp.Net JS取母板页控件值的简单方法,有需要的朋友可以参考一下   复制代码 代码如下: <script type="text/javascript" language="javascript">        function Check() {            var text = parent.document.getElementById('<%=HiddenField1.ClientID %>');  /

Repeater事件OnItemCommand取得行内控件的方法

这篇文章主要介绍了Repeater事件OnItemCommand取得行内控件的方法,有需要的朋友可以参考一下 记录一下,主要是这句: TextBox txtNum = e.Item.FindControl("txtNum") as TextBox;   Repeater真是太强了,太灵活.除了Repeater别的都不用.    代码如下: <table>     <asp:Repeater ID="rptList" runat="serv

Jquery获得控件值的三种方法

 本篇文章主要是对Jquery获得控件值的三种方法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 一 Jquery获得服务器控件值的方法 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法:   服务器控件代码:<asp:TextBox ID="txtUserID" runat="server"></asp:TextBox>    1. $(&