数据容器Form方式获取值的方法(有些不放心)
基于一个老的系统基础上开发时因为使用的一个字段存取不同的值,因为这个字段的内容有很多属性,也有空值,所以不能实用DropDownListr的数据绑定,当然这是基于特定条件下我才这么做的,这是一个新闻系统,里面有几种不同的新闻格式,有些字段在一些显示模式中是不需要的,如果我只做一个添加页的话就必须在不同模式添加时将一些TextBox与DropDownListr隐藏,(文件范围DropDownListr)就是一个要设为Visible = false的控件,另一种模式时他是要显示的(可能是我对执行顺序掌握得还不够熟),我无法在使用ObjectDataSource绑定FormView后获得DropDownListr1的执行顺序,DropDownListr绑定后才能DropDownListr1.Visible = false,在一个不需要他显示的模式里文件范围范围字段是空值,执行就会报错,找不到选定值,他不象手动DropDownListr1.SelectedValue="文件";这样来设选定值,如果值不存在他选则第一个,(不明白这两个模式有什么不同微软要这样做,晕菜菜).
于是我只能使用Form的方式来提交,开始在FormField填写FileArea怎么也或不到值,感觉有些奇怪,相起ASP时代的Form,右键看网页源代码,原来他的文件名变为FormView1$FileArea,于是填上FormView1$FileArea,OK搞定.
数据容器内使用Form方式获取值时必须要加载后更变的名称,这有些让我不安,一怕哪天微软搞个什么新补丁,要不在非IE下会不同名,加入个模板什么的后名称就变了,可能我想多了,基于原来的数据上修改没办法,总之这样的方式少用,不然哪里听到程序出错我心脏跳得厉害.