我知道其他地方也出现了类似的问题,但在看完所有事情之后,我找不到任何帮助。我现在已经打了好几个小时。我在网格视图中有一个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;按钮的页面进行了比较,我无法看到我错过了什么。救命啊!