2012-06-15 61 views
0

我已经阅读了其他类似名称的帖子,但是他们的问题都不符合我的要求,也没有解决我的问题。我有一个带有linkbutton字段的gridview,它显示一个模式(ish)框。因为linkbutton字段调用服务器端而不是客户端,我无法获得JQUERY模式窗体的工作。相反,在linkbutton点击我显示一个CSS面板与CSS,使其看起来莫代尔(ish)。在该面板中,我有一个asp按钮,用于通过设置panel.visible = false来退出模式。ASP按钮不会启动

但是,当我点击“退出”按钮时,它永远不会调用隐藏面板的btnExitProject_Click子过程。通常在Visual Studio的设计模式中,我可以双击一个按钮,它将在服务器端代码中显示“onClick”事件;但是,现在它需要我到page_load子。我不确定发生了什么事。页面上的其他按钮在面板外工作得很好,“Join Project”按钮(见图片)调用jquery函数也很好。

<asp:Panel ID="pnlProjectInfo" runat="server" Visible="false"> 
    <div class="overlay"></div> 
    <div class ="projectPanel"> 

     <span class="spanStyle">Project Code: </span><asp:Label ID="lblProjectCode" runat="server" Text="[proj code]" CssClass="lblStyle1"></asp:Label><br /><br /> 
     <span class="spanStyle">Entry Date: </span><asp:Label ID="lblEntryDate" runat="server" CssClass="lblStyle1"></asp:Label><br /><br /> 
     <span class="spanStyle">Project: </span><br /> 
     <asp:TextBox ID="tbProject" runat="server" Width="500px" CssClass="tbStyle1"></asp:TextBox><br /> 
     <span class="spanStyle">Organization: </span><br /> 
     <asp:TextBox ID="tbOrgName" runat="server" Width="395px" CssClass="tbStyle1" Enabled="false"></asp:TextBox><br /> 
     <span class="spanStyle">Project Leader: </span><br /><asp:TextBox ID="tbProjLeader" runat="server" Width="196px" CssClass="tbStyle1"></asp:TextBox><br /> 
     <span class="spanStyle">Description: </span><br /><asp:TextBox ID="tbDescription" runat="server" 
      Height="50px" Width="500px" TextMode="MultiLine" CssClass="tbStyle1"></asp:TextBox><br /> 
     <span class="spanStyle">Comment: </span><br /><asp:TextBox ID="tbComment" runat="server" 
      Height="50px" Width="500px" TextMode="MultiLine" CssClass="tbStyle1"></asp:TextBox><br /> 

     <br /> 


     <span class="spanStyle">Project Members: </span> 
     <br /> 

     <asp:GridView ID="gvProjectMembers" runat="server" AutoGenerateColumns="False" 
      CellPadding="3" 
      Width="512px" Font-Names="Arial" GridLines="Vertical" BackColor="White" 
      BorderColor="#333333" BorderStyle="Solid" BorderWidth="1px" 
      CssClass="projMembersGV"> 
      <RowStyle BackColor="#ecf1ef" ForeColor="Black" HorizontalAlign="Center" 
       VerticalAlign="Top" /> 
      <Columns> 
       <asp:BoundField DataField="individual_first_name" HeaderText="First Name" /> 
       <asp:BoundField DataField="individual_last_name" HeaderText="Last Name" /> 
       <asp:BoundField DataField="percentage_effort" HeaderText="Effort" /> 
       <asp:BoundField DataField="participation_description" 
        HeaderText="Participation" /> 
       <asp:BoundField DataField="active_indicator" HeaderText="Active" /> 
       <asp:CommandField ButtonType="Button" ShowEditButton="True" /> 
      </Columns> 
      <FooterStyle BackColor="#CCCCCC" ForeColor="Black" /> 
      <PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" /> 
      <EmptyDataTemplate> 
       No members assinged to this project in the database. 
      </EmptyDataTemplate> 
      <SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" /> 
      <HeaderStyle BackColor="#333333" Font-Bold="True" ForeColor="White" /> 
      <AlternatingRowStyle BackColor="#ecf1ef" /> 
     </asp:GridView> 
     <br /> 
     <button id="create-user" type="button">Join Project</button> <!-- displays a jquery modal --> 
     <asp:Button ID="btnExitProject" runat="server" Text="Close" CssClass="btnClose" CausesValidation="false" Enabled="true" /> 





    </div> 
</asp:Panel> 

这里的面板的外观: Modal Panel

+0

我不认为我的图像出现了。任何人都知道如何让它工作? – Weston

+4

问候@weston。我会给你一个友好的建议来鼓励你的答案:接受为你提出的答案提供的一些答案;)祝你好运! – Jeremy

+0

感谢提示@Jeremy,我一定会记得现在这样做。如果我找到了一种解决方案,可以使用JavaScript(最初不是quesiton),那么使用该解决方案回答我自己的问题是一种很好的做法吗?或者我应该编辑我的原始文章? – Weston

回答

0

我决定使用JQuery,而不是的服务器端onclick事件。事实证明,这是一个好主意,因为响应时间要快得多。

<input type="button" id="close_modal" value="Close"/> 

然后我加了一些jQuery来我的页面的顶部$内(文件)。就绪(函数(){

$("#close_modal") 
     .button() 
     .click(function() { 
      $("#<%=pnlProjectInfo.ClientID %>").hide(); 
     }); 

这只是说:

替换为我btnExitProject当点击带有“close_modal”id的按钮时,我需要隐藏我的asp面板,因为面板是asp,所以在代码中赋予它的ID不是实际ID所读取的ID,因此我必须将"#<%=pnlProjectInfo.ClientID %>"参考面板。

感谢您的帮助!

1

你似乎没有连接与butotn按钮点击事件。尝试从此改变你的代码:

<asp:Button ID="btnExitProject" runat="server" Text="Close" 
      CssClass="btnClose" CausesValidation="false" Enabled="true" /> 

这样:

<asp:Button ID="btnExitProject" runat="server" Text="Close" 
      CssClass="btnClose" CausesValidation="false" Enabled="true" OnClick="btnExitProject_Click" /> 
+0

感谢您的帮助;然而,奇怪的是,这并没有解决我的问题。 – Weston

1

您还没有有线您的ASP.NET按钮调btnExitProject_Click

<asp:Button ID="btnExitProject" runat="server" Text="Close" CssClass="btnClose" CausesValidation="false" Enabled="true" OnClick="btnExitProject_Click" /> 
+0

谢谢安倍有同样的想法,但这似乎仍然没有办法。 – Weston