2011-06-02 46 views
0

我在主頁上有一個下拉列表框,在同一頁面上有一個按鈕,啓動一個彈出對話框,同時還有一個下拉列表框。我需要將第一個列表框控件的選定索引與彈出對話框下拉列表框同步。彈出式對話框在初始啓動後不能重新繪製

我已經添加了代碼給我的控制器,它設置ViewData對象中的索引以便通過彈出窗口檢索,並且它在App的初始啓動時起作用。我的問題是彈出對話框的任何後續啓動都不會觸發其相應的代碼,以使用ViewData設置索引。需要執行的代碼是:

<%= Html.Telerik().DropDownList() 
         .Name("DataStoreTypeId") 
         .BindTo(new SelectList(Model.DataStoreTypes, "DataTypeId", "Name",Model.DataTypeSelectedId)) 
         .HtmlAttributes(new { style="width:205px }) 
         .SelectedIndex((int)ViewData["SelectedIndex"]) 
       %> 

從ASP.NET背景的人,我習慣了有回發的機制來處理這些類型的動作,但MVC已經修整回發事件,爲大性能,但我現在有什麼選擇來強制執行代碼?

我應該使用其他的替代品嗎?

+0

它可以與Html.DropDownList一起使用嗎? – 2011-06-03 06:24:38

回答

1

它第一次工作,因爲它的值是在服務器端設置的。一旦它在瀏覽器中呈現,就沒有服務器端了。您必須手動更改第一個下拉列表旁邊的按鈕單擊事件(第一個DD也是telerik下拉列表或html)旁的telerik下拉列表的選定值。對於telerik下拉菜單的客戶端活動,請看Telerik Demos for asp.net mvc

+0

感謝您的提示,是的第一個DD也是一個telerik控制。你提供的鏈接是一個很好的資源,但我相信根本沒有辦法達到我期待的行爲,因爲缺乏對我的問題的迴應,你的解釋和查看鏈接之後。我想我唯一的選擇是找到一個黑客讓它工作。沒有可用的事件會導致回發到服務器以檢索第一個下拉列表中新選擇的索引。我開始明白爲什麼Telerik控制MVC是免費的。 :-) – Mark 2011-06-03 10:46:27

+0

@馬上就要失望了。 Telerik的mvc控件很棒,我可以根據我的經驗告訴你。回傳不是設置控件值的唯一方法。與mvc你需要學習一些JavaScript的客戶端操縱。 – 2011-06-03 11:56:36

相關問題