alfinete
Power Member
Bom dia
estou a desenvolver em vs2022 framework4.8
mas não estou a conseguir
CtrlDetPedido.ascx
_________________________________________
CtrlDetPedido.ascx.cs
___________________
DetPedidosTabNotas.aspx
___________________________________________________
DetPedidosTabNotas.aspx.cs
___________________________________________________
estou a desenvolver em vs2022 framework4.8
- tenho um control ascx apenas com um formulario sem qualquer botão dentro do controlo.
- tenho um aspx em que chamo esse controlo , ao qual chama na perfeição
- quero alterar os dados no controlo , e através de um botão no aspx (LnkGravar) traze-los para um objecto Dentro deste file.(no codigo pintado a azul)
mas não estou a conseguir
CtrlDetPedido.ascx
_________________________________________
Código:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="CtrlDetPedido.ascx.cs" Inherits="HipogestBackOffice.Controls.CtrlDetPedido" %>
<div class="pt-3 pb-1 border-bottom border-secondary" runat="server">
<div class="pt-3" runat="server">
<div class="container" runat="server">
<div class="row" runat="server">
<div class="col-md-2" runat="server">
<div class="form-group" runat="server">
<label>Tipo de Pedido</label>
<%--<%# Eval("DGerais.TipoPedido") %>'--%>
<asp:TextBox runat="server" ID="TxtTipoPedido" Class="form-control" Text='<%# Eval("DGerais.TipoPedido") %>'></asp:TextBox>
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Cliente</label>
<input type="email" class="form-control">
</div>
</div>
<div class="col-md-3">
<div class="form-group">
<label>Pedido por</label>
<input type="email" class="form-control" placeholder="Portugal">
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>Data Criação Pedido</label>
<input type="email" class="form-control" placeholder="2022-10-28 10:00">
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label>Data Hora Serviço</label>
<input type="email" class="form-control" placeholder="2022-11-07 12:00">
</div>
</div>
</div>
</div>
</div>
</div>
CtrlDetPedido.ascx.cs
___________________
Código:
using HIPOPT.BE;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace HipogestBackOffice.Controls
{
public partial class CtrlDetPedido : System.Web.UI.UserControl
{
public string TipoPedido
{
get
{
return TxtTipoPedido.Text;
}
set
{
if (TxtTipoPedido != null)
TxtTipoPedido.Text = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void setdata(DetailPedidosColapseBE Dados)
{
// TxtTipoPedido.Text = Dados.TipoPedido;
}
public DetailPedidosColapseBE GetData()
{
DetailPedidosColapseBE Dados = new DetailPedidosColapseBE();
//quando instacio este objecto ele dis-me sempre que o TxtTipoPedido está Nulo
Dados.TipoPedido = TxtTipoPedido.Text;
return Dados;
}
}
}
DetPedidosTabNotas.aspx
___________________________________________________
Código:
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPages/BackOffice.Home.Master" AutoEventWireup="true" CodeBehind="DetPedidosTabNotas.aspx.cs" Inherits="HipogestBackOffice.Forms.Detalhes.DetPedidosTabNotas" %>
<asp:Content ID="CtxDetPedidoTabsNotas" ContentPlaceHolderID="CphBackOfficeHome" runat="server">
<%@ Register Src="~/Controls/CtrlDetPedido.ascx" TagPrefix="uc1" TagName="CtrlDetPedido" %>
<div class="container mt-2">
<div class="row">
<div class="panel-group">
<div class="panel panel-default">
<div class="panel-heading shadow bg-white">
<h4 class="panel-title fontoriginal" style="padding: 8px 0px 0px 8px;">
<a data-toggle="collapse" href="#collapse1" style="font-size: 14px;">Ver Detalhe</a>
</h4>
</div>
<div id="collapse1" style="width: 100% !important; overflow: visible !important; height: auto !important; border: 1px solid #dee2e6;" class="panel-collapse collapse">
<div class="panel-body pl-2 pr-2" runat="server" id="Dvdetalhe" style="overflow: visible !important; height: auto !important;">
<div class="row">
<asp:FormView ID="FrmViewDetpedido" runat="server">
<ItemTemplate>
<uc1:CtrlDetPedido runat="server" ID="ControlDetPedido" ClientIDMode="Static"/>
</ItemTemplate>
</asp:FormView>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="border-top pt-3 pb-3">
<div class="container">
<div class="row">
<div class="col-md-6">
<a class="btn text-white btn-lg btn-success" runat="server" id="LnkGravar" onserverclick="LnkGravar_ServerClick">Gravar</a>
</div>
<div class="text-right col-md-6">
<a class="btn btn-info btn-lg text-white" runat="server" onserverclick="RedirectPageBack_ServerClick" id="LnkCancelar">Cancelar</a>
</div>
</div>
</div>
</div>
</asp:Content>
DetPedidosTabNotas.aspx.cs
___________________________________________________
Código:
using HipogestBackOffice.Classes;
using HipogestBackOffice.Controls;
using HIPOPT.BE;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using static System.Net.WebRequestMethods;
namespace HipogestBackOffice.Forms.Detalhes
{
public partial class DetPedidosTabNotas : System.Web.UI.Page
{
private CtrlDetPedido DetPedido { get; set; }
private int IdType = 0;
protected void Page_init(object sender, EventArgs e)
{
//if (!Page.IsPostBack)
//{
// UserControl uc = (UserControl)Page.LoadControl("~/Controls/CtrlDetPedido.ascx");
// DetPedido = new CtrlDetPedido();
// PHControlDetailColapse.Controls.Add(uc);
//}
}
protected void Page_Load(object sender, EventArgs e)
{
AddServerClickbuttonsLnks();
if (!Page.IsPostBack)
{
List<DetalhePedidos> lstDet = GetSaveData.GetDetailPedido(1);
DetPedido = new CtrlDetPedido();
FrmViewDetpedido.DataSource = lstDet;
FrmViewDetpedido.DataBind();
}
}
protected void RedirectPageBack_ServerClick(object sender, EventArgs e)
private void AddServerClickbuttonsLnks()
{
LnkGravar.ServerClick += new EventHandler(LnkGravar_ServerClick);
}
protected void LnkGravar_ServerClick(object sender, EventArgs e)
{
DetPedido = new CtrlDetPedido();
DetailPedidosColapseBE Dados = DetPedido.GetData();
}
}
}