的CausesValidation ="真"但仍然无法回发?

时间:2015-09-02 14:53:06

标签: c# asp.net

我正在使用html来创建数据网格,并且在网格的语法中,我有CausesValidation="True"但我还是得到了可怕的

  

无效回发

这是背后的代码,如果需要其他信息,请告诉我,因为我正在解决这个问题。

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    Setup();
    GetThing1();  
    GetThing2();            
  }
}
private void GetThing1()
{
  this.gridInfo.Visible = true;
  //Run SQL Query to populate datagrid
  this.gridInfo.DataSource = DS;
  this.gridInfo.DataBind();
}
protected void gridInfo_ItemCommand(object source, DataGridCommandEventArgs e)
{
  if (!Page.IsPostBack)
  {
    if (e.CommandName == "AlterData")
    {
        Response.Redirect(".../pages/newpage.aspx");
    }
  }
}
private void GetThing2()
{
   if (userNameType == "Valid")
   {
      //Run this SQL Procedure
      //bind to datagrid
   }
   else
   {
      //Run this procedure
      //bind to datagrid
   }
}

这是用于创建网格本身的HTML / CSS

<asp:DataGrid runat="server" ID="gridInfo" AutoGenerateColumns="false"   CssClass="DataGrids"
GridLines="Both" ShowFooter="true" OnItemCommand="gridInfo_ItemCommand"  OnItemDataBound="gridInfo_ItemDataBound">
<ItemStyle CssClass="row" />
<FooterStyle CssClass="DataGridFooters" />
<HeaderStyle CssClass="DataGridHeaders" />
<Columns>
<asp:TemplateColumn HeaderText="ID" ItemStyle-CssClass="Blue" ItemStyle-HorizontalAlign="Center"
    HeaderStyle-HorizontalAlign="Center" ItemStyle-Width="40" Visible="true">
    <ItemTemplate>
        <asp:LinkButton ForeColor="White" ID="btnEdit" runat="server" CausesValidation="True"
            CssClass="BoldTextWhite" CommandName="Edit" Text='<%# Eval("ID") %>' CommandArgument='<%# Eval("ID") %>'>
        </asp:LinkButton>
    </ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ID" HeaderText="ID" Visible="false">  </asp:BoundColumn>
<asp:BoundColumn DataField="first name" HeaderText="First"></asp:BoundColumn>
<asp:BoundColumn DataField="last name" HeaderText="Last"></asp:BoundColumn>
</asp:TemplateColumn>

以下设置方法....

private void Setup()
{
  this.lblMessage.Text = "Please click an ID from the grid for further information";
}

当我点击gridinfo中的一个id时会抛出此消息,这应该启动一个单独的页面,不会将任何数据加载到网格中,因此我不确定为什么会显示此错误。

1 个答案:

答案 0 :(得分:0)

需要更多信息,当您收到此错误时,您正在做什么。此外,您的Setup()方法没有代码。如果点击页面上的任何控件,如何触发回发事件?