2011-08-29 54 views
4

有人可以帮助我将DropDownList的选定值设置为数据库给定值。我有几个TextBoxes,它不难从数据库中设置值,但令我疯狂的是DropDownList。在UserControl中将选定值设置为DropDownList

<asp:TextBox ID="txtNaziv" runat="server" Width="430px" Text='<%# DataBinder.Eval(Container, "DataItem.Naziv") %>'></asp:TextBox> 

据我所知,这是不可能的设置从代码前面DropDownList中所选项目的价值,但我能找到这样的事情(代码片段从Telerik的radgrid控件的文档) :

 protected void EmployeeDetails_DataBinding(object sender, System.EventArgs e) 
    { 
     ArrayList tocs = new ArrayList(new string[] { "Dr.", "Mr.", "Mrs.", "Ms." }); 

     ddlTOC.DataSource = tocs; 
     ddlTOC.DataBind(); 

     object tocValue = DataBinder.Eval(DataItem, "TitleOfCourtesy"); 

     if (tocValue == DBNull.Value) 
     { 
      tocValue = "Mrs."; 
     } 
     ddlTOC.SelectedIndex = tocs.IndexOf((string)tocValue); 
     ddlTOC.DataSource = null; 
    } 

问题是我使用Linq到SQL,我不知道如何重新创建类似上面的代码。这是我目前有:

 protected void ddlTip_DataBinding(object sender, EventArgs e) 
    { 
     TSEntities db = new TSEntities(); 

     var partType = (from pt in db.PartType 
         select new { pt.idPartType, pt.Naziv }).ToArray(); 

     ddlTip.DataSource = partType; 
     ddlTip.DataTextField = "Naziv"; 
     ddlTip.DataValueField = "idPartType"; 
     ddlTip.DataBind(); 

     object Tip = DataBinder.Eval(DataItem, "idPartType"); 

    } 

还有一件事我要补充一点,这个文本框和DropDownList的是正在被Telerik的radgrid控件内用于其EditForm的用户控件内。

任何帮助,将不胜感激。

谢谢!

回答

0

试试这个

ddlTip.Items.FindByValue(tocs).Selected = true; 
4

你需要设置下拉的的SelectedValue:

ddlTOC.SelectedValue = tocValue; 

你也可以做这样的:

ListItem li = ddlTOC.Items.FindByValue(tocValue); 
if (li != null) 
    li.Selected = true; 

编辑:包含的代码将列表直接绑定到db.Pa rtType:

TSEntities db = new TSEntities();  

ddlTip.DataSource = db.PartType; 
ddlTip.DataTextField = "Naziv"; 
ddlTip.DataValueField = "idPartType"; 
ddlTip.DataBind(); 

ddlTip.SelectedValue = DataBinder.Eval(DataItem, "idPartType").ToString(); 
+0

谢谢你,这可能将是很好的中间代码,但我的情况有LINQ到SQL我相信这是一个有点不同。 –

+0

@Hrvach:你什么意思?为什么不能用于linq-to-sql部分?你有零件类型ID保存在对象提示中,对吗?你应该可以做同样的事情,非常多。 –

+0

由于某些原因,当我使用LINQ到SQL时,我的应用程序崩溃(WebServer崩溃),并且当我用LINQ到SQL删除该部分时,一切都很好,但没有使用DropDownList。 –

相关问题