문제

Raddock (Open/Close)을 업데이트하여 UpdatePanel에 넣음으로써 운이 좋지는 않습니다 .... 다음 응답을 받고 있습니다.

189|error|500|Invalid JSON primitive: {"Top":179,"Left":583,"DockZoneID":"","Collapsed":false,"Pinned"

: False, "Resizable": False, "Close": False, "Width": "300px", "height": null, "expededeHeight": 0, "index": -1}. |

코드는 다음과 같습니다.

<asp:UpdatePanel ID="upanelDock" runat="server">
    <ContentTemplate>
        <telerik:RadDock ID="RadDock1" runat="server" Width="300px">
            <TitlebarTemplate>
                <h2>
                    this is a dock</h2>
            </TitlebarTemplate>
            <ContentTemplate>
                some content here
                <br />
                some content here
                <br />
                some content here
                <br />               
            </ContentTemplate>
        </telerik:RadDock>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="lbtnUpdate" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
<asp:LinkButton ID="lbtnUpdate" runat="server" OnClick="lbtnUpdate_Click">update</asp:LinkButton>

뒤에 코드 :

    protected void lbtnUpdate_Click(object sender, EventArgs e)
{

    if (this.RadDock1.Closed)
        this.RadDock1.Closed = false;
    else
        this.RadDock1.Closed = true;
}

여기서 내가 뭘 잘못하고 있니?

도움이 되었습니까?

해결책

업데이트: 당신은 당신의 코드에서 아무런 잘못을하고 있지 않습니다. UpdatePanel과 RadajaxManager를 사용 하여이 문제를 복제 할 수있었습니다. Telerik Support에 따르면, 이것은 Raddock Control의 "제한"입니다. 내 의견으로는 버그처럼.

지원 페이지 포럼에서 다음은 다음과 같습니다. 도킹되지 않은 도크는 클로닝 된 + 유효하지 않은 JSON 원시

Raddock 컨트롤은 표준 컨트롤이 아니며 AJAX를 통해 업데이트 될 때 몇 가지 제한 사항이 있습니다. Ajax를 통해 Raddock을 업데이트하려면 모든 Raddockzones를 업데이트해야하며 모든 Raddock은 도킹되어야합니다.

경험 한 오류는 Ajax로 떠 다니는 Raddock을 업데이트하기 때문입니다. 도크를 드래그 할 때 도크를 업데이트 패널 밖으로 이동하면 Ajax가 이전에 위치한 곳에서 도크를 재현하려고 시도 할 때 제대로 작동하지 않습니다. 이런 식으로 동일한 ID를 가진 두 개의 부두가 페이지에 나타나며 이것은 예외로 이어집니다. 이것은 DOM에서 이동할 수있는 모든 컨트롤에 대한 일반적인 문제입니다.

Raddockzone 안에 Raddock을 감싸고 DockMode 속성을 "도킹"으로 설정하여 코드를 작동시킬 수있었습니다. 그러나 도크를 영역에서 끄는 경우 플로팅을 떠나 "업데이트"버튼을 클릭하면 오류가 다시 나타납니다.

<asp:UpdatePanel ID="upanelDock" runat="server">
    <ContentTemplate>
       <telerik:RadDockZone runat="server">
        <telerik:RadDock ID="RadDock1" runat="server" Width="300px" 
                                                      DockMode="Docked">
            <TitlebarTemplate>
                <h2>
                    this is a dock
                </h2>
            </TitlebarTemplate>
            <ContentTemplate>
                some content here
                <br />
                some content here
                <br />
                some content here
                <br />               
            </ContentTemplate>
        </telerik:RadDock>
      </telerik:RadDockZone>
    </ContentTemplate>
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="lbtnUpdate" EventName="Click" />
    </Triggers>
</asp:UpdatePanel>
<asp:LinkButton ID="lbtnUpdate" runat="server"
           OnClick="lbtnUpdate_Click">update</asp:LinkButton>

다른 팁

나는 raddocklayout 안에 떠 다니는 몇 개의 raddocks가 있습니다. Ajax는 Raddock, Raddocklayout 또는 Raddocklayout을 RadajaxManager 객체를 통해 랩핑하는 기본 패널을 업데이트하면 작동합니다.

전:

<telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
    <UpdatedControls>
        <telerik:AjaxUpdatedControl ControlID="mainPanel" />
    </UpdatedControls>
</telerik:AjaxSetting>
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top