我在datagrid的TemplateColumn的EditItemTemplate中放入html控件File Field后,想让它提取数据库中的字段,但是却生成错误,
提示:异常详细信息: System.NotSupportedException: HtmlInputFile 的值属性是不可设置的。请问要如何设置,才能让这个控件提取数据库中的值呢?
本来我想直接提取ItemTemplate中的控件的值,但在没点击“编辑”按钮前,不能确定要提取哪条记录的值,点了“编辑”按钮,好像又不能提取ItemTemplate中的控件的值了。晕哦~~

解决方案 »

  1.   

    html控件File Field的value属性是不能编辑的吧显示用textboxlz是不是还要进行本地文件选择啊
      

  2.   

    我的是  已经用本地文件上传到服务器里了~
    但是我用datagrid的编辑功能,一点编辑,在EditItemTemplate中的html控件File Field不能提取已经存在于数据库中的内容。会造成,在编辑页面点击确定时,必须重新上传附件的问题(因为html控件File Field不能提取现有值,而显示为空值)
      

  3.   

    答案是File Field的value属性不支持set,只支持get。
    所以没啥好方法。如果你想显示数据库中的文件信息,就需要用Label或者TextBox。还有你在处理文件的时候,应该采用检查文件是否存在于数据库的方式来决定是否更新上传文件数据。
      

  4.   

    我在ItemTemplate中是用HyperLink控件显示数据库中的值的(需要它的imageUrl属性设置一个图片。然后在ItemDataBound事件中检查的数据库中是否存在记录。但是问题出在,在编辑时,可能要重新上传附件,所以必须要用到File Field。
    但是由于File Field不能设置值,用它就必然会初始化了原来存在于数据库中的值,要重新输入新值。
    这个时候问题就来了,如果不是同一个人上传的文件(比如我这个,管理员检查一般员工的任务时,编辑“管理员回复”里的内容时,也就把附件栏给初始化掉了。),管理员不可能有别人上传的附件。
      

  5.   

    顺带问一个问题:file field控件中的文本框  可以转成其他控件  从而输入值吗?
    比如转成TextBox控件
      

  6.   

    To:ml0732261()
        label是不能上传附件的~~To:hxling1981(冷雨星空) 
        即使那个字段为空,可能修改时要新上传文件,所以还是有必要修改的啊~