2011-04-21 3 views
2

내 페이지 중 하나에 modalpopupextender이 있습니다. 그 모달은 gridview입니다. 그것은 잘 작동, 유일한 문제는 너비가 화면의 약 90 %에 있다는 것입니다. width (작동하지 않음)은 텍스트 길이가 변경 될 수 있기 때문에 패널 밖으로 나올 수 있고 실제로보기에는 좋지 않기 때문에 어렵지 않게 코딩하고 싶습니다.Ajax ModalPopup 너비 문제

<div runat="server"> 
    <asp:ModalPopupExtender ID="ModalPopupInfo" runat="server" 
     CancelControlID="btnClose" OnCancelScript="HideModalPopup()" 
     TargetControlID="lbName" PopupControlID="pnlInfo" Drag="True" 
     BackgroundCssClass="ModalPopupBg" DynamicServicePath="" Enabled="True"/> 
</div> 
<asp:LinkButton ID="lbName" runat="server" ></asp:LinkButton> 
<div style="width:inherit;"> 
<asp:Panel ID="pnlInfo" runat="server" Font-Names="Times New Roman" UpdateMode="Conditional" EnableViewState="true" style="display:none; background-color:#FFFFFF; padding:20px; margin:50px; border:3px solid #4B0303; color:Black; width:auto;" > 
    <div runat="server" class="divTable" style="width:inherit;"> 
     <div runat="server" class="divRow" style="text-align:center; width:300px; float:left;"> 
      <asp:UpdatePanel ID="pnlImage" runat="server" UpdateMode="Conditional"> 
       <ContentTemplate> 
        <asp:Accordion ID="Accordion" runat="server" FadeTransitions="true" FramesPerSecond="40" TransitionDuration="250" AutoSize="None" SelectedIndex="-1" RequireOpenedPane="false" SuppressHeaderPostbacks="true" Height="50px" Width="360px" Enabled= "false"> 
         <Panes> 
          <asp:AccordionPane ID="AccordionPane" runat="server"> 
           <Header> 
            <asp:Image ID="imgUser" runat="server" ImageAlign="Middle" Width="100px" Height="100px" EnableViewState="true"/> 
            <asp:Label ID="lblUsrCode" runat="server" Visible="false" Text='<%# Eval("usr_cd") %>'></asp:Label> 
           </Header> 
           <Content> 
            <asp:AsyncFileUpload ID="AsyncFileUpload" runat="server" OnUploadedComplete="OnUpdateComplete" /> 
           </Content> 
           </asp:AccordionPane> 
          </Panes> 
         </asp:Accordion> 
       </ContentTemplate> 
       <Triggers> 
        <asp:AsyncPostBackTrigger ControlID="lbUpdate" EventName="Click"/> 
       </Triggers> 
      </asp:UpdatePanel> 
      <asp:UpdatePanel runat="server" UpdateMode="Always"> 
       <ContentTemplate> 
        <asp:LinkButton ID="lbUpdate" runat="server" Visible="false" OnClick="lbUpdate_Click" OnClientClick="__doPostBack('pnlImage', '');"/> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
     </div><br /><br /> 
    </asp:Panel> 
</div> 

는 ASP 패널에서 더 많은 코드가 있지만, 그것은 단지 더 divslinkbuttons이기 때문에이 문제에 대한 중요하지 않다.

너비와 상속을 두어 보았지만 효과가 없었습니다. 내가 모달 팝업을 통해 div에 값을 넣으려고했으나 gridview 열 너비에 문제가 발생하여 그 옵션을 제외 시켰습니다. 자동 또는 뭔가 너비를 설정하는 방식에 문제가있을 수 있다고 생각하지만 그냥 찾을 수 없습니다.

또한, 나는 IE7 (회사 제한)를 사용하고

답변

0

나는 이유를 이해하지 않지만, 그 코드는 나를 위해 일한 :

<asp:GridView runat="server" AutoGenerateColumns="False" CellPadding="4" Font-Bold="False" 
       ForeColor="#333333" ID="gvData" BorderColor="#333333" AllowSorting="True" OnSorting="gvData_Sorting" 
       OnRowDataBound="gvData_RowDataBound" ShowHeaderWhenEmpty="True" 
       AllowPaging="true" PageSize="50" 
       Width="625px" SelectedIndex="0" 
       onpageindexchanged="gvData_PageIndexChanged" onpageindexchanging="gvData_PageIndexChanging" meta:resourcekey="gvDataResource1" 
       > 
       <AlternatingRowStyle HorizontalAlign="Left" BackColor="White"></AlternatingRowStyle> 
       <Columns> 
        <asp:TemplateField HeaderText="Name" SortExpression="disp_nm" 
         AccessibleHeaderText="Name" ItemStyle-Wrap="False" 
         ItemStyle-Width="190px" HeaderStyle-Width="190px" meta:resourcekey="TemplateFieldResource1" 
         > 
         <ItemTemplate> 
          <asp:ModalPopupExtender ID="ModalPopupInfo" runat="server" 
           CancelControlID="btnClose" OnCancelScript="HideModalPopup()" 
           TargetControlID="lbName" PopupControlID="pnlInfo" Drag="True" 
           BackgroundCssClass="ModalPopupBg" DynamicServicePath="" Enabled="True"/> 
          <asp:LinkButton ID="lbName" runat="server" ></asp:LinkButton> 
          <asp:Panel ID="pnlInfo" runat="server" Font-Names="Times New Roman" UpdateMode="Conditional" EnableViewState="true" 
           style="display:none; background-color:#FFFFFF; padding:20px; margin:50px; border:3px solid #4B0303; color:Black; 
           width:350px;position:absolute;" 
           > 
           <div runat="server" class="divTable" style="width:350px;"> 

            <div runat="server" class="divRow" style="text-align:center; width:auto; float:none;"> 
0

그것은 당신이 얻고 무엇을 당신이 얻을 하려는지 이해하기 어렵다. 일부 스크린 샷이 크게 도움이 될 것입니다. 한편 :

그 모달은 gridview

에 나는 gridview 내부 modalpopupextender을 넣지 것입니다.

gridview의 모든 행에 대해 팝업 내용이 반복되어 모든 팝업을 처리 할 수있는 많은 코드가 생성되는 문제가 있습니다. 또한 패널에있는 모든 HTML 및 이미지는 표시되지 않더라도 페이지에로드됩니다.

연장관을 gridview 외부에 두는 것이 좋습니다. 이를 처리하기 위해 할 일이 많이 있습니다. Sumarry에서 을 pnlImage 업데이트 패널의 asyncpostbacktrigger으로 설정했습니다. TargetControlID to a hidden button so you could show your ModalPopupExtender from Code behind을 설정하십시오. lbName을 linkbuton으로 바꾸고 set을 gGridView_RowCommand 이벤트의 명령으로 사용하고 e.CommandNamee.CommandArgument을 사용하여 코드 팝업의 모달 팝업에서 컨트롤을 수동으로 바인딩하려면 리피터 또는 반환하는 데이터 소스에 바인딩하는 데이터 목록을 사용할 수 있습니다 모든 항목을 수동으로 처리하지 않으려면 하나의 항목입니다.

이렇게하면 코드가 훨씬 효과적 일 것이며 제외 된 옵션을 사용할 수 있습니다.