Кнопка OK ModalPopupExtender нажимает событие, не стреляя?

TLDR; демон docker хранит список контейнеров в памяти. На docker ps доступ к файловой системе не требуется. На docker create/run/start список контейнера может быть получен из слоя, найденного в /var/lib/docker/aufs (если вы используете драйвер хранения aufs )

Сами контейнеры находятся под /var/lib/docker/containers/{id}. Как не разрешено вопросом 15047 , этот путь загружается, когда запускается демон docker. После этого он управляется в памяти.


docker ps запрашивает контейнеры в api/client/ps.go#L59 :

containers, err := cli.client.ContainerList(options)

Он запрашивает api/client/lib/container_list.go#L45

resp, err := cli.get("/containers/json", query, nil)

Это управляется в api/server/router/container/container.go#L34

local.NewGetRoute("/containers/json", r.getContainersJSON),

It затем запрашивает бэкэнд в api/server/router/container/container_routes.go#L48

containers, err := s.backend.Containers(config)

. Каков интерфейс в api/server/router/container/backend.go#L58

Containers(config *daemon.ContainersConfig) ([]*types.Container, error)

, реализованный демоном докеров в daemon/list.go#L83-L86 :

// Containers returns the list of containers to show given the user's filtering.
func (daemon *Daemon) Containers(config *ContainersConfig) ([]*types.Container, error) {
    return daemon.reduceContainers(config, daemon.transformContainer)
}

Демон имеет список контейнеров: daemon/list.go#L37-L40

// List returns an array of all containers registered in the daemon.
func (daemon *Daemon) List() []*container.Container {
    return daemon.containers.List()
}

Из contStore : daemon/daemon.go#L123-L132

func (c *contStore) List() []*container.Container {
    containers := new(History)
    c.Lock()
    for _, cont := range c.s {
        containers.Add(cont)
    }
    c.Unlock()
    containers.sort()
    return *containers
}


type contStore struct {
    s map[string]*container.Container
    sync.Mutex
}

43
задан Johnno Nolan 28 January 2009 в 11:23
поделиться

6 ответов

Aspx

<ajax:ModalPopupExtender runat="server" ID="modalPop" 
            PopupControlID="pnlpopup" 
            TargetControlID="btnGo"
              BackgroundCssClass="modalBackground"
             DropShadow="true"
             CancelControlID="btnCancel" X="470" Y="300"   />


//Codebehind    
protected void OkButton_Clicked(object sender, EventArgs e)
    {

        modalPop.Hide();
        //Do something in codebehind
    }

И не устанавливайте для кнопки OK значение OkControlID.

53
ответ дан 26 November 2019 в 22:50
поделиться

Кажется, что кнопка, которая используется в качестве OK или Кнопки отмены для ModalPopupExtender, не может иметь события щелчка. Я проверил это путем удаления

OkControlID="ModalOKButton"

от тега ModalPopupExtender и огней нажатия кнопки. Я должен буду выяснить другой способ отправить данные на сервер.

9
ответ дан Kyle Trauberman 12 November 2019 в 09:09
поделиться

Я просто искал решение для этого:)

кажется, что Вы не можете иметь , OkControlID присваивает управлению, если Вы хотите к тем огням управления событие, просто удалив это свойство я получил все работающее снова.

мой код (работа):

<asp:Panel ID="pnlResetPanelsView" CssClass="modalPopup" runat="server" Style="display:none;">
    <h2>
        Warning</h2>
    <p>
        Do you really want to reset the panels to the default view?</p>
    <div style="text-align: center;">
        <asp:Button ID="btnResetPanelsViewOK" Width="60" runat="server" Text="Yes" 
            CssClass="buttonSuperOfficeLayout" OnClick="btnResetPanelsViewOK_Click" />&nbsp;
        <asp:Button ID="btnResetPanelsViewCancel" Width="60" runat="server" Text="No" CssClass="buttonSuperOfficeLayout" />
    </div>
</asp:Panel>
<ajax:ModalPopupExtender ID="mpeResetPanelsView" runat="server" TargetControlID="btnResetView"
    PopupControlID="pnlResetPanelsView" BackgroundCssClass="modalBackground" DropShadow="true"
    CancelControlID="btnResetPanelsViewCancel" />
6
ответ дан balexandre 12 November 2019 в 09:09
поделиться

Ни один из предыдущих ответов не работал на меня. Я назвал обратную передачу кнопки на событии OnOkScript.

<div>
    <cc1:ModalPopupExtender PopupControlID="Panel1" 
         ID="ModalPopupExtender1"
         runat="server" TargetControlID="LinkButton1" OkControlID="Ok" 
         OnOkScript="__doPostBack('Ok','')">
    </cc1:ModalPopupExtender>

    <asp:LinkButton ID="LinkButton1" runat="server">LinkButton</asp:LinkButton> 
</div>        


<asp:Panel ID="Panel1" runat="server">
    <asp:Button ID="Ok" runat="server" Text="Ok" onclick="Ok_Click" />            
</asp:Panel>   
2
ответ дан Johnno Nolan 12 November 2019 в 09:09
поделиться

Также могло случиться так, что кнопка должна иметь CausesValidation = "false". У меня это сработало.

8
ответ дан 26 November 2019 в 22:50
поделиться

Поместите в Button-Control атрибут "UseSubmitBehavior=false".

4
ответ дан 26 November 2019 в 22:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: