2013-11-21 71 views
1

我試圖在更新彈出控件的值後顯示一個模式彈出窗口,全部在客戶端。模式彈出,更新面板和客戶端更新

單擊網格行中的鏈接按鈕。使用該行的一些數據,我調用一個javascript函數來填充模態彈出窗口的控件並顯示它。莫代爾彈出彈出正常,但控制都是空白的。 (刪除UpdateMode =「Consitional」不起作用)。 我已經刪除了所有格式行以保持代碼簡短。

<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( 'A', 'B', 'C', 'd')」,其中a,b,c,d是從選擇該行的列。

回答

0

在.aspx頁面中使用此項。它會在你的linkbutton點擊事件時打開彈出窗口。像

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

配置鏈接按鈕,這是你的彈出窗口。在.aspx.cs頁

<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> 

,寫鏈接按鈕單擊事件像

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

我想做這個客戶端。我的網格不在裏面彈出。爲了響應點擊網格中每一行的,我想調用一個javascript函數,將它從選定行中傳遞給一些值,並彈出打開彈出窗口中分配給標籤的值。 – NoBullMan

0

我放棄了做這個客戶端,並在服務器端做了,使用RowDataBound的網格添加alink按鈕,並將我需要的列值分配給linkbutton的「Command Arguments」。