及其郁闷的DropDownList数据邦定,怎么办呀?唧唧唧……

lovcal 2006-10-25 09:23:31
我的FormView中用到了DropDownList,并且使用数据邦定
发觉假如数据一有问题,就会提示DropDownList有一个无效的SelectedValue的错误(也就是FormView给DropDownList赋值时,DropDownList中没有这个值)
及其郁闷!

请问大家在使用数据邦定控件比如说FormView时,怎么处理DropDownList的?
...全文
234 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
lhcoolhacker 2006-10-26
  • 打赏
  • 举报
回复
我看到你的短信了,已经回复!另外在cs文件中使用的话加上“名称空间”即可!

如:你的控件的名称空间是:Hugh.Web.UI.WebControls

string sMeiChang_no;
sMeiChang_no = ((Hugh.Web.UI.WebControls.DropDownList)this.FormView1.FindControl("ddlMeiChang")).SelectedValue.ToString();

或者使用别名!
using hwuw = Hugh.Web.UI.WebControls

使用hwuw.DropDownList 代替 Hugh.Web.UI.WebControls.DropDownList
lovcal 2006-10-25
  • 打赏
  • 举报
回复
楼上大哥请问怎么把原来的DropDownList替换了呢?用户自定义控件?还是将那段代码加到我的程序中即可?
我上面是直接加的,下面的ddlMeiChang就是原来的DropDownList,所以转换的时候提示无法将类型为“System.Web.UI.WebControls.DropDownList”的对象强制转换为类型“DropDownList”。

string sMeiChang_no;
sMeiChang_no = ((DropDownList)this.FormView1.FindControl("ddlMeiChang")).SelectedValue.ToString();--->
lovcal 2006-10-25
  • 打赏
  • 举报
回复
默认就是应用了的呀……
superliu1122 2006-10-25
  • 打赏
  • 举报
回复
引如System.Web.UI.WebControls名称空间
HJS1820 2006-10-25
  • 打赏
  • 举报
回复
pd
hegang888888888 2006-10-25
  • 打赏
  • 举报
回复
ding
lovcal 2006-10-25
  • 打赏
  • 举报
回复
======================================
string sMeiChang_no;
sMeiChang_no = ((DropDownList)this.FormView1.FindControl("ddlMeiChang")).SelectedValue.ToString();--->

无法将类型为“System.Web.UI.WebControls.DropDownList”的对象强制转换为类型“DropDownList”。
=======================================
我在代码中的怎么使用正确呢?
superliu1122 2006-10-25
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemint32classparsetopic1.asp
superliu1122 2006-10-25
  • 打赏
  • 举报
回复
那些类是System.ComponentModel里面的
stormwen 2006-10-25
  • 打赏
  • 举报
回复
学习学习,顶一下
lovcal 2006-10-25
  • 打赏
  • 举报
回复
我加在aspx.cs 文件的PageLoad()方法的后面
显示这些错误
=======================================
错误 43 找不到类型或命名空间名称“Browsable”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 10 D:\...\O\
错误 44 找不到类型或命名空间名称“Description”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 27 D:\...\O\
错误 45 找不到类型或命名空间名称“Category”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 48 D:\...\O\
错误 46 找不到类型或命名空间名称“Bindable”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 70 D:\...\O\
错误 47 找不到类型或命名空间名称“DefaultValue”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 111 D:\...\O\
错误 48 找不到类型或命名空间名称“DesignerSerializationVisibility”(是否缺少 using 指令或程序集引用?) D:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Projects\O\Order\OrderInfo3.aspx.cs 60 129 D:\...\O\
lovcal 2006-10-25
  • 打赏
  • 举报
回复
太感谢lhcoolhacker(hugh-lin)老兄了,还真能这么做呀?我之前就是想能不能提了或者重载这个控件,看来老兄的方法还真行!

不过,再请教一下,怎么个替法?
ldw701 2006-10-25
  • 打赏
  • 举报
回复
顶一下
lhcoolhacker 2006-10-25
  • 打赏
  • 举报
回复
将该自定义控件,替换微软的dropdownlist进行使用即可!
lhcoolhacker 2006-10-25
  • 打赏
  • 举报
回复
呵呵,以前我也有同样的苦恼。要实现不报错误,要扩展DropDownList控件!代码如下:
/// <summary>
/// 屏蔽被选值不匹配错误的下拉列表控件
/// </summary>
public class DropDownList : System.Web.UI.WebControls.DropDownList
{
/// <summary>
/// 获取或设置被选择的值
/// </summary>
[Browsable(true), Description("被选择值"), Category("Behavior"), Bindable(true, BindingDirection.TwoWay), DefaultValue(""), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden), Themeable(false)]
public override string SelectedValue
{
get
{
return base.SelectedValue;
}
set
{
try
{
base.SelectedValue = value;
}
catch
{
base.SelectedIndex = -1;
}
}
}

protected override void PerformDataBinding(IEnumerable dataSource)
{
try
{
base.PerformDataBinding(dataSource);
}
catch
{
}
}
}
lovcal 2006-10-25
  • 打赏
  • 举报
回复
没有其他办法了么?
amstar 2006-10-25
  • 打赏
  • 举报
回复
先判断数据源有没有问题再手动绑定。如果有问题,在dropdownlist上打条信息:没有数据!!
使用hibernate编程步骤 1)配置环境,加载hibernate的jar文件,以及连接数据库连接使用的jar文件,并配置CLASSPATH环境变量。 2)写POJO类(普通的java类) 3)写hibernate所需的配置文件,hibernate.cfg.xml ,Xxxxx.hbm.xml 4)调用hibernate API。 a)使用Configuration对象的buildSessionFactory()方法创建SessionFactory对象。 b)使用SessionFactory对象openSession()方法创建Session对象。 c)使用Session的相应方法来操作数据库,将对象信息持久化到数据库。 3.Hibernate的5个核心类或接口: (1)Configuration:用于解析hibernate.cfg.xml文件和XXXXX.hbm.xml文件,并创建SessionFactory对象。Configuration对象用于配置并且启动Hibernate。Hibernate应用通过Configuration实例来指定对象--关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。 (2)SessionFactory:初始化Hibernate,充当数据存储源的代理,创建Session对象。一个SessinFactory实例对应一个数据存储源,应用从SessionFactory中获得Session实例。如果应用同时访问多个DB,怎需要为每个数据库创建一个单独的SessionFactory实例。 (3)Session:也被称为持久化管理器,对象级数据库操作。 特点: 1)不是线程安全的,因此在设计软件架构时,应该避免多个线程共享同一个Session实例。 2)Session实例是轻量级的,所谓轻量级,是指它的创建和销毁不需要消耗太多的资源。这意味着在程序中可以经常创建或销毁Session对象,例如为每个客户请求分配单独的Session实例,或者为每个工作单位分配单独的Session实例。 3)通常将每一个Session实例和一个DB事务邦定,也就是说,每执行一个DB事务,都应该先创建一个新的Session实例,不论事务执行成功与否,最后都应该调用Session的close()方法,从而释放Session实例占用的资源。 注:每个Session实例都有自己的缓存,这个Session实例的缓存只能被当前的工作单元访问。 (4)Query:执行数据库查询操作。要使用HQL(HibernateQueryLanguage)查询语句,HQL查询语句是面向对象的,它引用类名及类的属性名。 select/update/delete…… from …… where …… group by …… having …… order by …… asc/desc Transaction:用于管理操作事务。它对底层的事务接口做了封装,底层事务接口包括:JDBC API、JTA(JavaTransactionAPI)、CORBA(CommonObjectRequestBroker Architecture)API。

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧