2013-11-21 2 views
1

Я пытаюсь отобразить модальное всплывающее окно после обновления значений элементов управления, все на стороне клиента.Модальное всплывающее окно, панель обновления и обновление на стороне клиента

Нажата кнопка ссылки в строке сетки. Используя некоторые данные из этой строки, я вызываю функцию javascript, чтобы заполнить элементы управления модальным всплывающим окном и показать ее. Модальные всплывающие окна всплывают хорошо, но контры все пустые. (удаление UpdateMode = "Consialal" не влияет). Я удалил все строки форматирования, чтобы сохранить код коротким.

<asp:UpdatePanel runat="server" ID="upnlNewIDS" RenderMode="Inline" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Panel runat="server" ID="divReassign" Width="350" Style="border:solid 2px navy;display:none;background: url(../assets/images/bg3.gif);"> 
      <asp:Label runat="server" ID="lblFacilityCount" /> 
      <asp:Label runat="server" ID="lblCurrIDSName_BK" /> 
      <asp:Label runat="server" ID="lblCurrSiteName" /> 
      <asp:Button runat="server" ID="btnSOK" Text="OK" Width="75" /> 
      <asp:Button runat="server" ID="btnCancel" Text="Cancel" Width="75" /> 
     </asp:Panel> 
     <ajaxToolkit:ModalPopupExtender runat="server" 
      ID="mpeNewIDS" 
      TargetControlID="btnFake" 
      BackgroundCssClass="backgrondModal" 
      DropShadow="true" 
      BehaviorID="mpeNewIDS" 
      PopupControlID="divReassign" 
      CancelControlID="btnCancel" /> 
     <asp:Button runat="server" ID="btnFake" Style="display:none" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 

Это шаблон та строка, где отображается ссылка:

<a id='a_<%# Eval("IDSID") %>' href="javascript:void(0);" 
    onclick="PopulateView('<%# Eval("idsid") %>', '<%# Eval("cnt" %>', '<%# Eval("idsname") %>', '<%# Eval("sitename") %>')">Reassign</a> 

Javascript: Я проследил код и эта функция имеет все правильные значения параметров.

function PopulateView(idsid, cnt, idsname, sitename) { 
    lblCurrIDSName_BK = document.getElementById('<%=lblCurrIDSName_BK.ClientID %>'); 
    lblFacilityCount = document.getElementById('<%=lblFacilityCount.ClientID %>'); 
    lblCurrSiteName = document.getElementById('<%=lblCurrSiteName.ClientID %>'); 

    lblCurrIDSName_BK.value = idsname; 
    lblCurrSiteName.value = sitename; 
    lblFacilityCount.value = cnt; 
    ShowNewIDSModalPopup(); 
} 
function ShowNewIDSModalPopup() { 
    $find("mpeNewIDS").show(); 
    return false; 
} 

function HideNewIDSModalPopup() { 
    $find("mpeNewIDS").hide(); 
    return false; 
}  

Когда звено в строке сетки в щелчке Слово «PopulateView („а“,„б“,„С“,„D“)», где а, б, в и г являются от выбора столбцы строки.

ответ

0

Используйте это на своей странице .aspx. Он откроет всплывающее окно, когда ваше событие clickbutton click. настроить кнопку ссылку как

<asp:TemplateField HeaderText="Verified Count"> 
    <ItemTemplate> 
     <asp:LinkButton ID="verifycount" runat="server" OnClick="verifycount_Click"> <%# Eval("VerifiedCount")%> </asp:LinkButton> 
    </ItemTemplate> 
</asp:TemplateField> 

это для вашего всплывающего окна.

<asp:Button ID="btn" runat="server" style="display:none" /> 
<cc1:ModalPopupExtender ID="popup_verifyInventory" runat="server"     PopupControlID="verifyInventory_popup" TargetControlID="btn"> 
</cc1:ModalPopupExtender> 

<asp:panel runat="server" ID="verifyInventory_popup" BorderStyle="solid"   BorderWidth="1px"> 
    <table width="100%" cellpadding="1" cellspacing="1" align="center"> 
     <tr> 
      <td colspan="3"><strong> Verify Asset Details </strong></td> 
      <td><asp:ImageButton id="close" TabIndex="1" runat="server" ImageAlign="Right" ImageUrl="~/Images/remove.gif" Height="30" Width="30" ToolTip="Close" OnClientClick="HidePopUp_verifyInventory()"/></td> 
     </tr> 
     <tr> 
      <td colspan="4"> 
      <asp:GridView ID="grdgrid" runat="server" 
            AutoGenerateColumns="true" Width="290px" > 
      </asp:GridView> 
      </td> 
     </tr> 
    </table> 
</asp:panel> 

и написать ссылку нажатия кнопки событие .aspx.cs страницы как

protected void verifycount_Click(object sender, EventArgs e) 
    { 
     //your code place here 
     //it will show your popup 
     popup_verifyInventory.Show(); 
    } 

записи Javascript как

<script type="text/javascript"> 
     var ShowVerifyInventory = '<%=Your popup control ID %>'; 
     function ShowPopUp_verifyInventory() { 
      $find(ShowVerifyInventory).show(); 
     } 

     var HideVerifyInventory = '<%=Your popup control ID %>'; 
     function HidePopUp_verifyInventory() { 
      $find(HideVerifyInventory).hide(); 
     } 
</script> 

во всплывающем окне будет связывать значения в GridView.

0

Я отказался от этой клиентской стороны и сделал на стороне сервера, используя RowDataBound сетки, чтобы добавить кнопку выделения и назначить значения столбцов, которые мне нужны для «Command Arguments» linkbutton.