问题一:visual studio2005中,下拉框中的数据绑定 :selectvalue='<%# bind("class")%>',一切运行正常,但某些记录,该字段在字典库中不存在(因为这是一个修改的程序,以前的数据都在),就会整页出错,在aspx中能否使用类似try的功能,可以屏蔽这样的错误!!!具体代码应该怎样写?问题二:下拉框中的数据选择源如果是绑定到DATASOURCE,如何加一个类似"请选择"的ITEM,你认为那种方法最简单,若写事件,应该在哪个事件里写,我尝试写了几处,好像都被盖了

解决方案 »

  1.   

    问题一:visual studio2005中,下拉框中的数据绑定 :selectvalue='<%# bind("class")%>',一切运行正常,但某些记录,该字段在字典库中不存在(因为这是一个修改的程序,以前的数据都在),就会整页出错,在aspx中能否使用类似try的功能,可以屏蔽这样的错误!!!具体代码应该怎样写?
    =================
    还没有看到什么好的办法,只能是保证字典中的数据在有外键引用的情况下不被删除,这也是符合大多数业务逻辑的.问题二:下拉框中的数据选择源如果是绑定到DATASOURCE,如何加一个类似"请选择"的ITEM,你认为那种方法最简单,若写事件,应该在哪个事件里写,我尝试写了几处,好像都被盖了
    =================
    采用三层结构,在业务逻辑层中加入,这也体现了三层的一个优点.
      

  2.   

    protected void DropDownList1_DataBound(object sender, EventArgs e)
        {
            DropDownList dl = (DropDownList)sender;
            dl.Items.Insert(0, "请选择");       
        }
      

  3.   

    2.方法看个人所需了。可以dropdownlist.item.insert(0,"请选择");
    也可以dropdownlist.item.add("请选择");你试下就知道了。
      

  4.   

    selectvalue='<%# bind("class")%>
    一般都不这样用吧。下面通常用法,举个例子,绑定一个职业的 <asp:DropDownList ID ="ddlProfession" runat ="server"></asp:DropDownList></td> 
     
       string SqlStr = "Select * From Profession";
       SqlConnection Conn = new SqlConnection(Application["WebOAStr"].ToString());
       Conn.Open();
       SqlCommand Cmd = new SqlCommand(SqlStr, Conn);  
       ddlProfession.DataTextField = "ProfessionName";
       ddlProfession.DataValueField = "ID";   
       ddlProfession.DataSource = Reader;
       ddlProfession.DataBind();
      

  5.   

    <asp:SqlDataSource ID="dsDept" ConnectionString="<%$ ConnectionStrings:ConnBMS %>" runat="server" SelectCommand="SELECT '0' as [DeptId], '' as [DeptName]  UNION SELECT [DeptId], [DeptName] FROM [Department]"></asp:SqlDataSource>在DataSource中SelectCommand="SELECT '0' as [DeptId], '请选择' as [DeptName]  UNION SELECT [DeptId], [DeptName] FROM [Department]"通SQL语句添加一条
      

  6.   

    解决好方法: 置appenddatabounditems属性为true即可
      

  7.   

    public static void BindDropList(ref DropDownList drplist,bool IsBool)
    {
        drplist.items.clear();
        if(IsBool==true)drplist.items.add("请选择");    //****获取数据
        DataSet DSet=(new webservices.FrinedServices()).SystemDirecortyp_Filter();
        
        //*****邦定相应数据
        foreach(datarow drow in dset.table[0].rows)
        {
             ListItem Litem=new listitem(drow["DirectoryName"].tostring,drow["DirecotryID"].tostring()):         drplist.items.add(Litem);
       }
    }