2008-08-22 24 views
4

Bir form görünümüm var, düzenleme şablonunda iki damlalık var. Aşağı açılır 1, izin verilen değerlerin bir listesiyle açıkça ayarlanır. Ayrıca otomatik sıfırlama için ayarlanır. Aşağı açılır 2 bir objectdatasource için databound'tur, bu objectdatasource bu parametrelerden biri olarak ilk açılır menüyü kullanır. (Buradaki fikir, aşağıya doğru 1'de gösterilenin 1 sınırını düşürmesidir)Formview Dropdown 2, Dropdown 1'e bağlıdır.

Bir öğenin düzenleme şablonunun ilk görünümde iyi çalışıyor. Bir hata farklı bir öğe geri göndermek seçilir sahip oluşturur aşağı 1 damla Ancak bu Eval(), XPath() ve Bind() olarak

veri bağlama yöntemleri, yalnızca bağlamında kullanılabilir databound kontrolü. İşte

liste 2. aşağı düşüşü anlamına gelmektedir: Burada

<asp:DropDownList ID="ProjectList" runat="server" SelectedValue='<%# Bind("ConnectToProject_ID","{0:D}") %>' DataSourceID="MasterProjectsDataSource2" DataTextField="Name" DataValueField="ID" AppendDataBoundItems="true"> 
     <asp:ListItem Value="0" Text="{No Master Project}" Selected="True" /> 
</asp:DropDownList> 

Ve MasterProjectDataSource2 geçerli:

<asp:ObjectDataSource ID="MasterProjectsDataSource2" runat="server" 
      SelectMethod="GetMasterProjectList" TypeName="WebWorxData.Project" > 
      <SelectParameters> 
       <asp:ControlParameter ControlID="RPMTypeList" Name="RPMType_ID" 
        PropertyName="SelectedValue" Type="Int32" /> 
      </SelectParameters> 
     </asp:ObjectDataSource> 

bu işe konusunda herhangi bir yardım büyük appriciated olacaktır.

+0

Sorunu çözdünüz mü, Aksi takdirde size farklı ve şık bir çözüm sunmak için geleceğim? –

cevap

0

Denetimler, geri gönderme işleminden sonra düzgün bir şekilde veri gönderilmiyor gibi görünüyor.

Sayfadaki ilk açılır menüyü veya codebehind içine veri ekliyor musunuz? Eğer codebehind, her zaman on_init veya on_load içinde yapıyor musunuz?

İkinci açılır listenin SelectedValue öğesinin, geri gönderilmeden sonra var olmayan bir öğeye ayarlanmış olmasıyla ilgili bir sorun olabilir.

0

2. açılır listeniz bir veri denetimi denetiminde değilse (örneğin, bir Repeater) - SelectedValue'a ne bağlamaya çalıştığınızdan emin değilim. Görünüşe göre, ne de .NET. - Muhtemelen hatanın oluştuğu yerdir.

Connect_ToProjectId nereden geliyor?

3

FormView'de bağlı dropdownlists ile benzer bir sorun yaşadım. Ben seçilen değeri el ile formview'in "OnDataBound" olarak ayarlayarak etrafında çalıştım.

(aralarından ConnectToProject_ID nereden bilmiyorum)

FormView fv = (FormView)sender; 
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList"); 
ddl.SelectedValue = String.Format("{0:D}", ConnectToProject_ID); 

Hazır kurtarmak için zaman, "OnItemInserting" olayını kullanın:

FormView fv = (FormView)sender; 
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList"); 
e.Values["ConnectToProject_ID"] = ddl.SelectedValue; 

veya "OnItemUpdating"

Kaydetmeye hazır olduğunuzda, "OnItemInserting" olayını kullanın:

FormView fv = (FormView)sender; 
DropDownList ddl = (DropDownList)fv.FindControl("ProjectList"); 
e.NewValues["ConnectToProject_ID"] = ddl.SelectedValue; 
İlgili konular