大家帮我看下这个怎么解决呢?访问detailview里的控件属性。

[复制链接]
查看11 | 回复7 | 2021-1-27 07:20:00 | 显示全部楼层 |阅读模式
我想让用户在点击detailview里的更新按钮后判断一下指定的编辑框有没有为空,如果为空就不允许更新。但是运行说老是找不到对象。。。不知道哪里错了




分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
没找到control啊
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
引用1楼FoxDave的回复:没找到control啊对啊,,但是代码哪里错了呢?
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
GridView控件,参考一下
protectedvoidGridView_RowUpdating(objectsender,GridViewUpdateEventArgse)
{
intxl_id=Convert.ToInt32(this.GridView.DataKeys[e.RowIndex].Value);
stringxianluname=Convert.ToString(((TextBox)this.GridView.Rows[e.RowIndex].Cells[2].FindControl("txtxlName")).Text);
//code
}

回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
MSDN上的Demo
https://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.detailsview(v=vs.80).aspx
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
试一试这句,文本框中的值:
Server.HtmlEncode(((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text).Trim()
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
不能从this上面开始FindControl,这样找不到NamingContainer内部的子控件。你应该从类似this.XXXItem或者类似的属性返回的NamingContainer控件去开始执行FindControl。
回复

使用道具 举报

千问 | 2021-1-27 07:20:00 | 显示全部楼层
把this.findcontrol改成
GridView1.Rows[e.RowIndex].FindControl试试
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行