×

Loading...
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务
Ad by
  • 推荐 OXIO 加拿大高速网络,最低月费仅$40. 使用推荐码 RCR37MB 可获得一个月的免费服务

关于DropDownList的替代方案,请教大家。

本文发表在 rolia.net 枫下论坛前几天发的帖子由于过长,我重新发帖让大家看得容易些。首先感谢所有回复的朋友,你们的意见都直接或者间接帮助了我,谢谢!!!
经过分析目前公司里的项目后发现,虽说dropdownlist不少,但相关的一组一般也不超过10个,相关的DropdownLists都是连接同一个DataSource的,所以Connection也不太多,所以没有使用一个DataSet里多个DataTable的方法,逻辑上也没太大必要做成每个DropDownlist都互相独立,参照别人的模式,我也改成顺序选择的模式了(初始化就让第一个DropdownList是enabled的,其他的都bind后设置成Enable=False,用户选择了第一个dropdownlist按顺序第二个启动,然后第三个。。。),这样逻辑上简单太多了,而且更有效。另外,我们数据库访问层用的是LINQ,我对LINQ认识还比较有限,感觉这个Wrapper很强大,有点像我以前项目里做过的,把每个数据库table对应生成一个个class,一个总的abstract class来做root,看了LINQ的datacontext自动生成的code,还真是一个table一个class的搞法!
但现在我在想,如果不用DropDownList的话,用ListView那样的把table里的row都列出来,用户可以通过CheckedBox来filter这些结果,然后选择任何一条记录,我找了半天发现ListView这个新的Asp.net的control竟然功能这么有限。。。。根本实现不了我要的功能,真搞不懂MS吃啥的,GridView来实现也存在一个HyperLinkField不能正常执行Javascript的问题,要用template里放HyperLink control来实现。。。。也许这些问题对于高手来说太小儿科了,嫌太简单就随便指导一下,谢谢。更多精彩文章及讨论,请光临枫下论坛 rolia.net
Report

Replies, comments and Discussions:

  • 工作学习 / 学科技术讨论 / 关于DropDownList的替代方案,请教大家。
    本文发表在 rolia.net 枫下论坛前几天发的帖子由于过长,我重新发帖让大家看得容易些。首先感谢所有回复的朋友,你们的意见都直接或者间接帮助了我,谢谢!!!
    经过分析目前公司里的项目后发现,虽说dropdownlist不少,但相关的一组一般也不超过10个,相关的DropdownLists都是连接同一个DataSource的,所以Connection也不太多,所以没有使用一个DataSet里多个DataTable的方法,逻辑上也没太大必要做成每个DropDownlist都互相独立,参照别人的模式,我也改成顺序选择的模式了(初始化就让第一个DropdownList是enabled的,其他的都bind后设置成Enable=False,用户选择了第一个dropdownlist按顺序第二个启动,然后第三个。。。),这样逻辑上简单太多了,而且更有效。另外,我们数据库访问层用的是LINQ,我对LINQ认识还比较有限,感觉这个Wrapper很强大,有点像我以前项目里做过的,把每个数据库table对应生成一个个class,一个总的abstract class来做root,看了LINQ的datacontext自动生成的code,还真是一个table一个class的搞法!
    但现在我在想,如果不用DropDownList的话,用ListView那样的把table里的row都列出来,用户可以通过CheckedBox来filter这些结果,然后选择任何一条记录,我找了半天发现ListView这个新的Asp.net的control竟然功能这么有限。。。。根本实现不了我要的功能,真搞不懂MS吃啥的,GridView来实现也存在一个HyperLinkField不能正常执行Javascript的问题,要用template里放HyperLink control来实现。。。。也许这些问题对于高手来说太小儿科了,嫌太简单就随便指导一下,谢谢。更多精彩文章及讨论,请光临枫下论坛 rolia.net
    • GridView来实现也存在一个HyperLinkField不能正常执行Javascript的问题? disable HTMLEncode? 其它的说的看不通,再写明白点。
      • 你可以试试在vs2005/vs2008里随便用个Gridview连接数据库table,显示出来,你可以用HyperLinkField的DataNvigateUrlFormatString来执行Javascript弹出一个窗口,但你无法把窗口尺寸定义,去掉Toolbar之类的。试试。
        • 用Javascript 弹出窗口的时候,尺寸可以定义。什么toolbar,address bar,status bar,因为用户觉得这是我的权利,程序员不该乱改我的设置,所以好像ie7就给disable了,有些就不让改了。
          • Javascript弹出窗口尺寸可以定义,但放在HyperlinkField里就不行,据说是个bug。
    • There are tow ways to run javascript code in a hyperlink: href="javascript:code_function();”, or
      onclick=”code_function()” (by link.Attributes.Add(“onclick”, “code_function()”) )