C# 单击按钮时出错
我有以下C# 单击按钮时出错,c#,asp.net,C#,Asp.net,我有以下aspx页面 <asp:Content ID="Content2" ContentPlaceHolderID="contentConteudo" runat="server"> <table border="0" width="680" style="background-color:#f0f0f0" id="tabelaPrincipal" runat="server"> <tr> &l
aspx
页面
<asp:Content ID="Content2" ContentPlaceHolderID="contentConteudo" runat="server">
<table border="0" width="680" style="background-color:#f0f0f0" id="tabelaPrincipal" runat="server">
<tr>
<td style="width: 180px !important;">
<asp:RadioButtonList ID="rbBuscas" runat="server">
<asp:ListItem Selected="True">Novo Curso</asp:ListItem>
<asp:ListItem>Buscar Lista de Presença</asp:ListItem>
</asp:RadioButtonList>
</td>
<td>
Data: <br />
<input id="DtBusca" type="text" />
<asp:Button id="btnSelecionarData" runat="server" Text="Buscar" />
</td>
</tr>
</table>
<br /><br />
<div id="infoGrid" runat="server">
<cc1:GridView ID="grdImoveis" CssClass="StyleGrid" Width="100%" runat="server" ShowHeader="false"
AutoGenerateColumns="False" DataSourceID="dsGrid" BorderWidth="0px" GridLines="None"
AllowPaging="True" EnableModelValidation="True">
<AlternatingRowStyle BackColor="White" CssClass="EstiloDalinhaAlternativaGrid" HorizontalAlign="Center" />
<RowStyle CssClass="EstiloDalinhaGrid" HorizontalAlign="Center" />
<Columns>
<asp:TemplateField HeaderText="Nome">
<ItemTemplate>
<div class="<%# Eval("Usuario_Id").ToString() %>">
<%# Eval("NomeCompleto").ToString() %>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Cargo" DataField="DescricaoCargo1" />
<asp:BoundField HeaderText="Data Cadastro" DataField="DataHora" />
<asp:TemplateField ControlStyle-CssClass="acoes_lista_imovel" HeaderText="Curso">
<ItemTemplate>
<div class="acoes_lista_imovel">
<%# montaIcones(Eval("Usuario_Id").ToString())%>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<div>
<%# montaIconesDocumentacao(Eval("Usuario_Id").ToString())%>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</cc1:GridView>
<asp:SqlDataSource ID="dsGrid" runat="server"></asp:SqlDataSource>
</div>
<span id="printContrato" class="diasRelatorio btStep ui-button ui-widget ui-state-default ui-corner-all"></span>
</asp:Content>
有人能帮我吗?在代码隐藏中创建自定义控件时,通常会出现此问题。我想看一看这篇文章,它深入讨论了问题的根源,以及如何抽查代码中的此类问题:
当我试图点击
时,请显示btnSelecionarData
按钮的手柄。错误仍然发生在我的aspx页面上,继承自我的母版页,因此问题可能出现在我的母版页上?是的,它可能出现在页面上运行的任何代码中,包括母版页、页面和用户控件。根据这篇文章,您应该查找条件内部的动态控件更改,特别是处理初始页面加载和回发之间的差异。我要补充的是,这是ASP.net中最令人沮丧的错误之一,因为有时它会在没有警告的情况下出现,因为它涉及条件,所以有时它不会一直发生。这是一个很好的提示,谢谢。只是一点观察,我现在试着在我的页面加载中放置一个IsPostBack
。结果:加载我的页面时,我的GridView
未被填充,但如果我单击我的按钮,则GridView
被填充。我需要的是,当页面被加载时,我的GridView
必须被填充,当我点击我的按钮时,我需要再次填充我的GridView
,但是我传递了一些不同的参数,但是在这个wy中,出现了viewstate
问题。这可能就是问题所在;您正在那里创建动态控件吗?不,我的所有组件都在我的aspx
页面中。
public partial class ListaUsuarioProvisorio : System.Web.UI.Page
{
neticonn.Conexao c = new neticonn.Conexao();
Utilidade.QuebraToken tk = new Utilidade.QuebraToken();
public string icones = string.Empty;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.CarregaLista();
}
}
protected void CarregaLista()
{
string select = string.Empty;
select += "SELECT San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, San_Usuario.DescricaoCargo1, "
+ "CONVERT(varchar, San_Usuario.DataHora, 103) AS DataHora "
+ "FROM San_Usuario "
+ "JOIN San_Credenciada "
+ "ON San_Usuario.Credenciada_Id = San_Credenciada.Credenciada_Id "
+ "WHERE San_Usuario.Provisorio = 1 "
+ "AND San_Usuario.Excluido = 0 "
+ "GROUP BY San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, "
+ "San_Usuario.DescricaoCargo1, San_Usuario.DataHora "
+ "ORDER BY San_Usuario.DataHora ASC ";
dsGrid.ConnectionString = c.Con;
dsGrid.SelectCommand = select;
dsGrid.Dispose();
GridViewHelper helper = new GridViewHelper(this.grdImoveis);
helper.RegisterGroup("Apelido", true, true);
helper.GroupHeader += new GroupEvent(helper_GroupHeader);
helper.ApplyGroupSort();
}
protected void CarregaLista(string data)
{
string select = string.Empty;
select += "SELECT San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, San_Usuario.DescricaoCargo1, "
+ "CONVERT(varchar, San_Usuario.DataHora, 103) AS DataHora "
+ "FROM San_Usuario "
+ "JOIN San_Credenciada "
+ "ON San_Usuario.Credenciada_Id = San_Credenciada.Credenciada_Id "
+ "JOIN San_UsuarioCurso "
+ "ON San_Usuario.Usuario_Id = San_UsuarioCurso.Usuario_Id "
+ "WHERE San_Usuario.Provisorio = 1 "
+ "AND San_Usuario.Excluido = 0 "
+ "AND San_UsuarioCurso = " + data + " "
+ "GROUP BY San_Credenciada.Apelido, San_Usuario.NomeCompleto, San_Usuario.Usuario_Id, "
+ "San_Usuario.DescricaoCargo1, San_Usuario.DataHora "
+ "ORDER BY San_Usuario.DataHora ASC ";
dsGrid.ConnectionString = c.Con;
dsGrid.SelectCommand = select;
dsGrid.Dispose();
GridViewHelper helper = new GridViewHelper(this.grdImoveis);
helper.RegisterGroup("Apelido", true, true);
helper.GroupHeader += new GroupEvent(helper_GroupHeader);
helper.ApplyGroupSort();
}
private void helper_GroupHeader(string groupName, object[] values, GridViewRow row)
{
string xCol = "#f56d01";
string yCol = "#cbcbcb";
Color c = System.Drawing.ColorTranslator.FromHtml(xCol);
Color c2 = System.Drawing.ColorTranslator.FromHtml(yCol);
if (groupName == "Apelido")
{
row.BackColor = c;
row.Cells[0].Text = "<div class='AgrupamentoPrincipal'> " + Maiscula(row.Cells[0].Text) + "</div>";
row.Cells[0].Text += "</div><tr bgcolor=#e2dcd2 class=thGrid><th scope=col height='27'> Nome</th><th scope=col>Cargo</th><th>Data Cadastro</th><th scope=col>Curso Básico</th><th>Documentação Imobiliária</th></tr>";
}
}
protected string Maiscula(string texto)
{
texto = texto.ToUpper();
return texto;
}
protected string montaIcones(string id)
{
icones = string.Empty;
int Credenciada = Convert.ToInt32(tk.CarregaToken(1, Request.Cookies["token"].Value));
icones = "<img src='../tema/default/icon/icon-cinza/check.png' onclick=\"Visibilidade('" + id + "', '" + id + "', '" + Credenciada + "')\" style='cursor:pointer;margin: 4px;text-align:center;' ID='" + id + "' />";
return icones;
}
protected string montaIconesDocumentacao(string id)
{
icones = string.Empty;
int Credenciada = Convert.ToInt32(tk.CarregaToken(1, Request.Cookies["token"].Value));
icones = "<img src='../tema/default/icon/icon-cinza/documents.png' onclick=\"VisibilidadeDocumentacao('" + id + "', 'documentacao_" + id + "', '" + Credenciada + "')\" style='cursor:pointer;margin: 4px;text-align:center;' ID='documentacao_" + id + "' />";
return icones;
}
public void btnSelecionarData_OnClick(object sender, EventArgs e)
{
if (this.rbBuscas.SelectedIndex == 1 && !this.DtBusca.Value.Equals(string.Empty))
{
this.CarregaLista(this.DtBusca.Value);
}
}
}
}