2014-09-01 65 views
-1

我有一个GridView中的LinkBut​​ton弹出一个jQuery弹出框进行删除确认。除此之外,我还触发了Gridview RowCommand,它应该为jQuery弹出框中的文本框赋值。这里的问题是弹出框出现在LinkBut​​ton单击后,但RowCommand事件不会将值分配给文本框。事实上,文本框会恢复到原来的默认值。GridView的RowCommand没有更新控制值

我对此问题进行了太多搜索,但无法获得正确的解决方案。下面是我的代码,任何帮助都非常明显。

//The code behind GridView_RowCommand event 
    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     string arguments = e.CommandName + " - " + e.CommandArgument.ToString() + " - " + e.CommandSource.ToString(); 
     if (e.CommandName == "Delete") 
     { 
      txt.Text = e.CommandArgument.ToString(); 
     } 
    } 

    //Page Source 
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
       <div id="myModal" class="reveal-modal"> 
        <h1>Delete</h1> 
        <p>This will guide you through the delete process</p> 
        <asp:TextBox ID="txt" runat="server"></asp:TextBox> 
        <p><asp:Button ID="Button2" runat="server" Text="Button" /></p> 
        <a class="close-reveal-modal">&#215;</a>      
       </div> 

       <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="RBUEntityDataSource" CssClass="gridview" OnRowCommand="GridView1_RowCommand" EnableViewState="True"> 
        <Columns> 
        <asp:BoundField DataField="Id" HeaderText="Id" ReadOnly="True" SortExpression="Id" /> 
        <asp:BoundField DataField="Region" HeaderText="Region" ReadOnly="True" SortExpression="Region" /> 
        <asp:TemplateField HeaderText="Update"> 
         <ItemTemplate> 
          <asp:LinkButton ID="lbUpdate" runat="server" CommandName="Update" OnClick="lbUpdate_Click">Update</asp:LinkButton> 
         </ItemTemplate> 
        </asp:TemplateField> 
        <asp:TemplateField HeaderText="Delete"> 
         <ItemTemplate> 
          <asp:LinkButton ID="lbDelete" class="big-link" data-reveal-id="myModal" runat="server" CommandName="Delete" CommandArgument='<%# Eval("Id") %>'>Delete</asp:LinkButton> 
         </ItemTemplate> 
        </asp:TemplateField> 
       </Columns> 
     </asp:GridView> 
     <asp:EntityDataSource ID="RBUEntityDataSource" runat="server" ConnectionString="name=ChemonicsDBEntities" DefaultContainerName="ChemonicsDBEntities" EnableFlattening="False" EntitySetName="RegionalBusinessUnits" Select="it.[Id], it.[Region]" OrderBy="it.[Id] asc" Where="it.[DeletedBy] = 0"> 
      </asp:EntityDataSource> 
    </ContentTemplate> 
</asp:UpdatePanel> 
+0

@HassanNisar如何做到这一点。你能指导我吗? – 2014-09-01 07:02:08

回答

0

虽然与ASP的工作:UpdatePanel的,我们必须陌一些changes.And如果你正在使用JQuery然后找到你的jQuery函数

您必须添加一个load()函数将添加结束请求使用页面请求管理器,将注册的jQuery 功能(这里jsFunctions) 事件

像这样

<script language="javascript" type="text/javascript"> 
     function load() { 
      Sys.WebForms.PageRequestManager.getInstance().add_endRequest(jsFunctions); 
     } 
     function jsFunctions() {    
       $("#btnClick").click(function() {      
        alert("Alert"); 
      }); 
     } 
    </script> 

最后

<body onload="load()">