0

Itemtemplate に Item を削除するための asp ボタンがある RadListView コントロールがあります。ページ内のすべてのコントロールを読み取り専用にする必要があります。最初に Page_PreRender イベントで、すべてのコントロールとその子コントロールをトラバースし、それらを無効にしています。すべてが期待どおりに機能しています。しかし、RadListView のページを変更すると、以前に無効にした ASP コントロールが再び有効になります。これは、RadPager と組み合わせた RadListView で予想される動作ですか。以下は私が設定したプロパティです。

<telerik:RadAjaxManagerProxy ID="ADCleintsRadAjaxManagerProxy" runat="server">
        <AjaxSettings>
            <telerik:AjaxSetting AjaxControlID="ClientsRadAjaxPanel">
                <UpdatedControls>
                    <telerik:AjaxUpdatedControl ControlID="ClientsRadListView" />
                </UpdatedControls>
            </telerik:AjaxSetting>
        </AjaxSettings>
        </telerik:RadAjaxManagerProxy>



<telerik:RadAjaxPanel ID="ClientsRadAjaxPanel" runat="server" 
              LoadingPanelID="RadAjaxALoadingPanel" ViewStateMode="Disabled">

            <telerik:RadListView ID="ClientsRadListView" runat="server"
                ItemPlaceholderID="DrugsContainer" 
                AllowPaging="True" PageSize="4" DataSourceID="ClientsDataSource"  
                OnItemDataBound="ClientsRadListView_OnItemDataBound"
                ViewStateMode="Disabled" OnNeedDataSource="ClientsRadListView_OnNeedDataSource"  OnItemCreated="RadListView1_ItemCreated" >

ページを変更したときに、さまざまなイベントで Button enable プロパティをチェックしました。以下は、一連のページ フローです。

RadListView ページを変更したとき >

RadListView1_ItemCreated> Button.enabled プロパティが true

PageLoad > Button.enabled プロパティが true

Page_PreRender >関数を使用してすべてのフォーム要素を最初に無効にする > 無効にした後、ここで Button enabled プロパティが false であることを発見しました。これは、関数が正常に動作していることを意味します。

RadListView1_ItemCreated>このイベントが再び発生し、ここで button.enabled が true になります。誰でもこれで私を助けることができますか?

4

1 に答える 1

0

リストビューのOnItemDataBoundイベントを使用して、コントロール プロパティを設定してみてください。

Page_PreRender は少し遅すぎる可能性があり、ViewState が更新されない可能性があります (これは、リストビューのビューステートを無効にしたために予想される可能性があるため、何を期待し、何を求めているのかわかりません)

または、リストビューの ItemCreated イベントで Enabled プロパティを明示的に true に設定すると、この動作が予想されます。正確に何をしているのかわかりません。コードは提供されていません。

また、ClientsRadAjaxPanel を asp:Panelに置き換えます。RadAjaxManager/RadAjaxManagerProxy は、RadAjaxPanel を ajax 対応にしてはなりません。

于 2016-09-29T08:34:54.390 に答える