这是我的中继器,我使用ID =“ lknReject”的LinkButton打开模式,我想在Eval(“ IdReq”)中发送值
<asp:Repeater ID="rptListaRequisicoes" runat="server" OnItemDataBound="rptListaRequisicoes_ItemDataBound">
<HeaderTemplate>
<table id="tblAdmin" class="table table-bordered table-hover">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>Nome</th>
<th>Logistica</th>
<th>Estado</th>
<th>Data Criação</th>
<th>Data Alteração</th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label ID="lblIdColaborador" runat="server" Text='<%# Eval("IdColaborador") %>' Style="display: none;" />
</td>
<td>
<asp:Label Font-Bold="true" ID="lblIdReq" runat="server" Text='<%# Eval("IdReq") %>' />
</td>
<td>
<asp:LinkButton Font-Bold="true" runat="server" ID="lkbtnDetalhes" Text='<%# Eval("Nome") %>' OnClick="lkbtnDetalhes_Click" />
</td>
<td>
<asp:Label Font-Bold="true" ID="lblInfoLog" runat="server" Text='<%# Eval("InfoLog") %>' />
</td>
<td>
<asp:Label Font-Bold="true" ID="lblEstado" runat="server" Text='<%# Eval("Status") %>' />
</td>
<td>
<asp:Label Font-Bold="true" ID="lblDataCriacao" runat="server" Text='<%# Eval("DataCriacao") %>' />
</td>
<td>
<asp:Label Font-Bold="true" ID="lblDataAlteracao" runat="server" Text='<%# Eval("DataAlteracao") %>' />
</td>
<td>
<asp:LinkButton ID="lknAprove" Font-Bold="true" runat="server" ID="OnAprovar" Text="Validar" OnClientClick='<%# Eval("Nome","Javascript:return confirm(\"Deseja aprovar a requisição: {0}\");") %>' OnClick="OnAprovar_clik" />
</td>
<td>
<asp:LinkButton ID="lknReject"Font-Bold="true" CssClass="txtBox" runat="server" ID="OnRecusar" Text="Rejeitar" data-toggle="modal" data-target="#modalReject" data-whatever='<%# Eval("IdReq") %>' OnClientClick="javascript:return false;" />
</td>
<td>
<asp:LinkButton ID="lknEditar" Font-Bold="true" runat="server" Text="Editar" OnClick="lknEditar_Click" />
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
这是我的引导程序模式
<div class="modal fade" id="modalReject" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
<h4 class="modal-title text-center" id="exampleModalLabel" style="font-weight: bold; color: #142658;">Rejeitar Requisição</h4>
</div>
<div class="modal-body">
<div class="form-group">
<asp:Label runat="server" ID="lblMtvRej" Text="Motivo da Rejeição: " ForeColor="#142658" Font-Bold="true" />
<asp:TextBox runat="server" ID="txtMtvRej" CssClass="form-control" />
</div>
<div class="form-group">
<asp:Label runat="server" ID="lblMtvRejDesc" Text="Descrição: " ForeColor="#142658" Font-Bold="true" />
<asp:TextBox runat="server" ID="txtMtvRejDesc" TextMode="MultiLine" CssClass="form-control" Style="resize: none;" />
</div>
</div>
<div class="modal-footer">
<asp:Button runat="server" class="btn btn-default" data-dismiss="modal" Text="Cancelar" />
<asp:Button runat="server" ID="btnSendRejectMessage" CssClass="btn btn-primary" Text="Enviar Mensagem" BackColor="#de0426" OnClick="btnSendRejectMessage_Click" />
</div>
</div>
</div>
</div>
这是Modal Send Message按钮的CodeBehind函数,我无法在其上获取转发器arg,因此我不知道该怎么做,我想避免使用HiddenField。
protected void btnSendRejectMessage_Click(object sender, EventArgs e)
{
try
{
RepeaterItem item = (sender as LinkButton).Parent as RepeaterItem;
int IdReq = Convert.ToInt32((item.FindControl("lblIdReq") as System.Web.UI.WebControls.Label).Text);
string constr = ConfigurationManager.ConnectionStrings["FolhaRegisto_ConnectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("spRequisicao"))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@Action", "UPDATESTATUS");
cmd.Parameters.AddWithValue("@IdReq", IdReq);
cmd.Parameters.AddWithValue("@IdStatus", 5);
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
}
ScriptManager.RegisterStartupScript(this, this.GetType(), "key_name", "SucessoNote('Utilizador rejeitado.');", true);
}
catch (Exception er)
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "key_name", "ErrorNote('Falha ao rejeitado utilizador');", true);
}
}