asp事件绑定到gridview中的按钮未触发

时间:2017-02-03 17:08:38

标签: c# asp.net button gridview updatepanel

我知道其他地方也出现了类似的问题,但在看完所有事情之后,我找不到任何帮助。我现在已经打了好几个小时。我在网格视图中有一个asp:按钮,它不会被激发;没有错误,没有其他任何失败,这个事件只是没有被调用。

同一页面上的其他按钮(不在网格视图中)工作,其他页面上的网格视图中的其他按钮设置相同,可以正常工作。我错过了什么,但是什么?

相关.aspx(摘要):

<%@ Page Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="thisPage.aspx.cs" Inherits="WebApplication2.thisPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<link href="../Content/jquery-ui.css" rel="stylesheet" />
<script src="../Scripts/jquery-ui.js"></script>

<asp:UpdatePanel runat="server" ID="thisPanel" UpdateMode="Conditional">
 <ContentTemplate>
  <asp:GridView runat="server" ID="thisGV" onrowcommand="thisGV_RowCommand">
   <Columns>
    <asp:BoundField DataField="ID" HeaderText="ID"/>
    <asp:TemplateField>
     <ItemTemplate>
      <asp:Button runat="server" ID="confirmButton" CommandName="confirm" CommandArgument='<%# Container.DataItemIndex %>' Text="Confirm" />
     </ItemTemplate>
    </asp:TemplateField>
   </Columns>
   <EmptyDataTemplate>
    No records found for those details, please try again.
   </EmptyDataTemplate>
  </asp:GridView>
 </ContentTemplate>
 <script>
  $(document).ready(function () {
  });
 </script>
</asp:UpdatePanel>

相关的aspx.cs(总结):

public partial class Form8Exams : System.Web.UI.Page
{
 int ID = 0;
 protected void Page_Load(object sender, EventArgs e)
 {
  if (!Page.IsPostBack)
  {
   loadGV();
  }
 }

 protected void thisGV_RowCommand(Object sender, GridViewCommandEventArgs e)
 {
  //A bunch of things that don't get called
  //Let me be clear; I've tested, and as far as I can tell
  //it's not that the things here fail to work, but that
  //this function doesn't get called at all.
 }

 protected void loadGV()
 {
  if (!Page.IsPostBack) // Added in desperation, but no change with or without.
  {
   hwHelper helper = new hwHelper();
   DataTable dt = new DataTable();
   dt = helper .dtget(ID, "");
   if (dt.Rows.Count > 0)
   {
    thisGV.DataSource = dt;
    thisGV.DataBind();
    thisPanel.Update();
   }
  }
 }
}

母版页将整个内容包装在一个表单中并添加一个scriptmanager等;另一个页面(共享同一个母版页)适用于此设置。

我已经在按钮本身上使用OnClick和OnCommand尝试了变体,没有任何变化。请注意,页面首先正确加载,此gridview确实已填充等。我已经将我能想到的所有其他内容与工作更新面板&gt; gridview&gt;按钮的页面进行了比较,我无法看到我错过了什么。救命啊!

0 个答案:

没有答案