有人可以帮助我将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的用户控件内。
任何帮助,将不胜感激。
谢谢!
谢谢你,这可能将是很好的中间代码,但我的情况有LINQ到SQL我相信这是一个有点不同。 –
@Hrvach:你什么意思?为什么不能用于linq-to-sql部分?你有零件类型ID保存在对象提示中,对吗?你应该可以做同样的事情,非常多。 –
由于某些原因,当我使用LINQ到SQL时,我的应用程序崩溃(WebServer崩溃),并且当我用LINQ到SQL删除该部分时,一切都很好,但没有使用DropDownList。 –