2014-09-04 55 views
0

我有一个下拉列表,它是使用linq查询在page_load上填充的。 如果我更改下拉列表中的值,然后单击一个按钮在记录上运行更新查询,原始值仍然存在,如果我在调试模式下单步执行,则可以看到所选值完全没有变化DropdownList selectvalue似乎没有改变

这里是林结合的数据如何下拉列表

dlBookingRef.DataSource = d.BookingRef(); 
dlBookingRef.DataMember = "booking"; 
dlBookingRef.DataBind(); 

这里是从形式

item.booking_ref = dlBookingRef.SelectedValue; 

任何想法,为什么它保留了原有的价值得到数据的功能行?

感谢

回答

1

把绑定代码在if(!IsPostBack),它看起来像在按钮事件为页面加载被调用由于您的下拉列表中被复位,所以绑定下拉列表,只有当页面是不是调回:

protected void Page_Load(object sender, EventArgs e) 
{  
    if(!Page.IsPostBack) 
    { 
    dlBookingRef.DataSource = d.BookingRef(); 
    dlBookingRef.DataMember = "booking"; 
    dlBookingRef.DataBind(); 
    } 
}