Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Tiago Cardoso

[Resolvido] Master Page + Request.Form

Recommended Posts

Boa tarde,

Estou com problemas quanto ao uso de master pages em minha aplicação, pois se NÃO a utilizo o request.form é bem sucedido, mas com ela simplesmente os dados do form não são resgatados, estou usando c# para desenvolver, vejam parte do código:

 

Master Page:

 

<form id="form1" runat="server" enctype="multipart/form-data">
		 <asp:ContentPlaceHolder ID="dinamico" runat="server"></asp:ContentPlaceHolder>
		 </form>

Página que chama a Master Page:

 

<%@ Page Language="C#" MasterPageFile="~/layout.master" AutoEventWireup="true" CodeFile="usuarios.aspx.cs" Inherits="usuarios" %>
<asp:Content ID="conteudo" ContentPlaceHolderID="dinamico" runat="server">
...
</asp:Content>

Agora não vou postar o code-behind porque ele funciona sem a master page, e é apenas um request mesmo...

 

Espero que possam me ajudar

 

obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nao to entendendo o teu problema.

 

Eu uso o form sempre dentro da masterpage e funciona sem problema, agora tem uma diferença claro.

 

Seu eu uso um formview eu faço tipo:

 

TextBox _nomedocampo = (TextBox)nomedoFormView.FindControl("nomedocampo");

DropDownList _nomedocombo = (DropDownList )nomedoFormView.FindControl("nomedocombo");

 

e assim por diante.

 

 

as vezes eu nao uso o formview como no exemplo abaixo, um form para login:

<fieldset style="padding:2px; width:200px">

<table cellpadding="1" cellspacing="1" border="0">

<tr>

<td colspan="2" align="center">

<span style="background:#f30000; color:#ffffff; padding:0 10px">

<b>Fazer Logon</b></span></td>

</tr>

<tr>

<td class="label">E-mail: </td>

<td class="labelData">

<asp:TextBox ID="formAdd_email" width="200" runat="server" CssClass="required" MaxLength="50"/>

</td>

</tr>

<tr>

<td class="label">Senha: </td>

<td class="labelData">

<asp:TextBox ID="formAdd_senha" width="80" runat="server" CssClass="required" MaxLength="8" TextMode="Password"/>

</td>

</tr>

<tr>

<td colspan="2" align="center">

<asp:Label ID="logonError" style="text-align:center; font-weight:bold; color:#fe0000" runat="server" />

</td>

</tr>

<tr>

<td colspan="2" align="center">

<asp:Button ID="btnLogon" CssClass="btnOk" width="100px"

Text="Fazer Logon" CommandName="Insert" runat="server"

CausesValidation="true" ValidationGroup="Add"/>

</td>

</tr>

</table>

</fieldset>

no code-behind dentro do pageLoad

if (Page.IsPostBack)

{

TextBox senha = this.formAdd_senha;

TextBox email = this.formAdd_email;

 

if (!Ridgid.Validate.CheckEmail(email.Text))

{

Response.Redirect("Login.aspx");

logonError.Text = "O E-mail informado está incorreto!";

}

 

email = this.formAdd_email;

 

if (!Ridgid.Validate.CheckSenha(senha.Text))

{

Response.Redirect("Login.aspx");

logonError.Text = "A Senha informada está incorreta!";

}

 

else if (senha.Text != null)

// continua o codigo...

se o mesmo estive dentro de um formview a coisa seria um pouco diferente:

porque eu preciso informar primeiro o nome do formview e usar o FindControl como no exemplo acima.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, acho que não estamos falando a mesma coisa! rs

Vamos lá...

O que tenho é um form normal, não um formview, porém é runat="server"

O problema está com o uso de Master Pages, pois com ela eu não consigo resgatar os dados do form, o que normalmente faço assim:

 

Request["nome_do_campo"];

 

Mas não sei porque motivo funciona sem master pages e com ela NÃO.

 

Alguém já teve este problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Movido Plataforma .NET http://forum.imasters.com.br/public/style_emoticons/default/seta.gif Plataforma .NET » Web Applications

 

Eu testei o Request com Master.Page e funcionou normalmente.

Master.Page:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
   <title>Untitled Page</title>
   <asp:ContentPlaceHolder id="head" runat="server">
   </asp:ContentPlaceHolder>
</head>
<body>
   <form id="form1" runat="server">
   <div>
       Master.Page
       <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

       </asp:ContentPlaceHolder>
   </div>
   </form>
</body>
</html>

 

Default.aspx

public partial class _Default : System.Web.UI.Page {
	protected void Page_Load(object sender, EventArgs e) {

	}
	protected void Button1_Click(object sender, EventArgs e) {
		Response.Redirect("Default2.aspx?Parametro=2");
	}
}

Default2.aspx

public partial class Default2 : System.Web.UI.Page {
	protected void Page_Load(object sender, EventArgs e) {
		Label1.Text = Request["Parametro"].ToString();
	}
}

Funcionou normalmente, tente o .ToString()

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bruno o que você fez realmente funciona, mas no meu caso algumas coisas mudam...

 

- O Request é feito na página aspx.cs, através da ação de um botão;

- O Request é de um form não querystring;

- Se tento o .ToString(); dá erro porque o valor está null

 

Cara o que pode ser? Muito estranho... O que eu tenho certeza é: Sem master page o request é realizado com perfeição, então o problema não está na lógica e sim deve ser diferente o resgate de campos quando temos uma master page

 

Muito obrigado por enquanto

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.