我遇到的问题可能是如此愚蠢,但我无法找到解决方案。我在Repeater中有一个UserControl,而UpdatePanel里面有一个Repeater。我需要做的是根据选择的日期显示一些图块(UserControls)。
当页面加载时,瓷砖正常填充,一切正常。但是当我更改日期时,也会显示切片,但信息不会填充在这些切片中。
下面你可以看到我的代码:
HTML代码
<div class="w3-container">
<div class="w3-display-container w3-margin-top">
<asp:UpdatePanel ID="upData" runat="server">
<ContentTemplate>
<asp:LinkButton ID="btnDecrescerData" CssClass="w3-display-left w3-text-teal" runat="server" OnClick="DecrescerData">
<i class="fa fa-chevron-left fa-4x" aria-hidden="true"></i>
</asp:LinkButton>
<span class="w3-display-middle w3-xlarge">
<b><asp:Label ID="lblDataCirurgia" runat="server"></asp:Label></b>
<span class="w3-text-teal"><i class="fa fa-calendar" aria-hidden="true"></i></span>
</span>
<asp:LinkButton ID="btnAcrescerData" CssClass="w3-display-right w3-text-teal" runat="server" OnClick="AcrescerData">
<i class="fa fa-chevron-right fa-4x" aria-hidden="true"></i>
</asp:LinkButton>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnDecrescerData" EventName="Click" />
<asp:AsyncPostBackTrigger ControlID="btnAcrescerData" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
</div>
<br />
<div class="w3-container w3-row">
<asp:UpdatePanel ID="upCirurgias" runat="server">
<ContentTemplate>
<asp:Repeater ID="rptCirurgias" runat="server">
<ItemTemplate>
<uc:Cirurgia ID="pnlCirurgia" runat="server"
codCirurgia='<%# Eval("CODIGO_CIRURGIA") %>'
dataCirurgia='<%# Eval("DATA_CIRURGIA") %>'
dataAutorizacao='<%# Eval("DATA_AUTORIZACAO") %>'
nomePaciente='<%# Eval("NOME_PACIENTE") %>'
nomeConvenio='<%# Eval("NOME_CONVENIO") %>'
nomeMedico='<%# Eval("NOME_MEDICO") %>'
nomeInstrumentador='<%# Eval("NOME_INSTRUMENTADOR") %>' />
</ItemTemplate>
</asp:Repeater>
</ContentTemplate>
</asp:UpdatePanel>
</div>
背后的代码
public partial class BuscarCirurgias : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
lblDataCirurgia.Text = DateTime.Now.ToString("dd/MM/yyyy");
BuscarCirurgiasDisponiveis();
}
}
private void BuscarCirurgiasDisponiveis()
{
Usuario usuario = (Usuario)Session["USUARIO"];
int dia, mes, ano = 0;
dia = int.Parse(lblDataCirurgia.Text.Substring(0, 2));
mes = int.Parse(lblDataCirurgia.Text.Substring(3, 2));
ano = int.Parse(lblDataCirurgia.Text.Substring(6, 4));
DateTime dataBusca = new DateTime(ano, mes, dia);
DataTable dt = new DataTable();
dt = new Controle.Controle().BuscarCirurgiasDisponiveis(usuario, dataBusca);
rptCirurgias.DataSource = dt;
rptCirurgias.DataBind();
}
protected void DecrescerData(object sender, EventArgs e)
{
int dia, mes, ano = 0;
dia = int.Parse(lblDataCirurgia.Text.Substring(0, 2));
mes = int.Parse(lblDataCirurgia.Text.Substring(3, 2));
ano = int.Parse(lblDataCirurgia.Text.Substring(6, 4));
DateTime dataBusca = new DateTime(ano, mes, dia, DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);
dataBusca = dataBusca.AddDays(-1);
lblDataCirurgia.Text = dataBusca.ToString("dd/MM/yyyy");
BuscarCirurgiasDisponiveis();
}
protected void AcrescerData(object sender, EventArgs e)
{
int dia, mes, ano = 0;
dia = int.Parse(lblDataCirurgia.Text.Substring(0, 2));
mes = int.Parse(lblDataCirurgia.Text.Substring(3, 2));
ano = int.Parse(lblDataCirurgia.Text.Substring(6, 4));
DateTime dataBusca = new DateTime(ano, mes, dia);
dataBusca = dataBusca.AddDays(1);
lblDataCirurgia.Text = dataBusca.ToString("dd/MM/yyyy");
BuscarCirurgiasDisponiveis();
}
}
用户控制代码背后
public partial class Cirurgia : System.Web.UI.UserControl
{
public string codCirurgia { get; set; }
public DateTime dataCirurgia { get; set; }
public DateTime dataAutorizacao { get; set; }
public string nomePaciente { get; set; }
public string nomeConvenio { get; set; }
public string nomeMedico { get; set; }
public string nomeInstrumentador { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
lblCodigoCirurgiaUC.Text = this.codCirurgia;
lblDataCirurgiaUC.Text = this.dataCirurgia.ToString("dd/MM/yyyy");
lblDataAutorizacaoUC.Text = this.dataAutorizacao.ToString("dd/MM/yyyy");
lblNomePacienteUC.Text = this.nomePaciente;
lblConvenioUC.Text = this.nomeConvenio;
lblNomeMedicoUC.Text = this.nomeMedico;
lblNomeInstrumentadorUC.Text = this.nomeInstrumentador;
}
}
有人知道我能做什么吗?
提前致谢!