Perguntas Mais Freqüentes de ASP.NET
- Índice
JavaScript
Como exibir data e hora do cliente?
Como acessar um controle utilizando Javascript?
Como chamar uma função do lado do servidor com Javascript?
Como passar um valor para um campo oculto utilizando javascript em ASP.Net?
Como registrar uma função Javascript no Code-behind?
Como exibir imagens com um atraso de 5 segundos?
Como capturar as configurações do Browser e aplicar controles de página?
Como apagar a sessão quando o usuário fechar a janela?
Métodos de passar dados entre páginas
Como utilizar cookies?
Como utilizar QueryString?
Como utilizar Session?
Como utilizar Use Context?
Como utilizar PreviousPage?
Como utilizar Submit Form?
Como utilizar Server.Transfer?
Upload de Arquivo
Como fazer upload de um arquivo?
Como capturar o tipo de dado do arquivo carregado?
Como capturar o tamanho do arquivo carregado?
Porque ocorre falha ao fazer o upload de arquivos grandes quando utilizado o controle ASP.NET FileUpload?
Como fazer upload de imagens somente?
Como fazer com que o contole File Upload funcione com um UpdatePanel?
Calendar
Como mudar as definições de do controle Calendar?
Como selecionar vários datas não sequencias no Code-behind?
Como desabilitar algumas datas no controle Calendar?
Como estender o controle Calendar para validação do lado do servidor?
Como definir ToolTips e links no evento DayRender do controle Calendar?
Como definir diferentes aparências para datas?
List Controls
Como habilitar um ASP.NET DropDownList com suporte a OptionGroup?
Como desabilitar um item no DropDownList?
Como manter selecionado um valor em um DropDowlist?
User control
Como adicionar uma nova propriedade em um UserControl?
Como acessar UserControl criados dinamicamente?
Como acessar o controle dentro de um UserControl?
Controles dinâmicos
Como criar um controle dinâmico?
Como acessar o valor inserido por um usuário em um controle criado dinamicamente?
Como acessar o controle dinâmico através do Javascript?
Como manter todos os controles adicionados dinamicamente após um post back?
Porque controles dinâmicos desaparecem após um post back?
Estilo
Como adicionar estilo através do Code-behind?
Como adicionar estilo através de javascript?
Como remover espaço?
Como adicionar estilo através do html?
Como definir uma imagem como plano de fundo de um botão?
Como colorir itens em um ListBox?
Impressão
Como imprimir parte de uma página web através de CSS?
Como imprimir parte de uma página web através de javascript (1)?
Como imprimir parte de uma página web através de javascript (2)?
Mail
Quais classes são necessárias para enviar email no ASP.Net?
Como enviar emails utilizando System.Net.Mail ?
Como configurar um servidor SMTP?
Como enviar um email para servidor Gmail?
GridView
Como editar de dados de um Gridview com DropDownlist?
Como exportar dados do Gridview para Excel?
Como alterar as propriedades de um TextBox do GridView?
Como atualizar campo do GridView com a data atual?
Configuração
Onde armazenar informações de configuração de uma aplicação?- EditadoRafael FagundesModeradorsexta-feira, 30 de janeiro de 2009 11:55
- EditadoRafael FagundesModeradorsexta-feira, 30 de janeiro de 2009 11:59
Todas as Respostas
- JavaScript
Como exibir data e hora do cliente?
Você pode usar uma função Javascript para exibir data e hora.
Code Snippet<script type="text/javascript">
function displayTime()
{
var localTime = new Date();
var year= localTime.getYear();
var month= localTime.getMonth() +1;
var date = localTime.getDate();
var hours = localTime.getHours();
var minutes = localTime.getMinutes();
var seconds = localTime.getSeconds();
var div = document.getElementById("div1");
div.innerText = year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds;
}
</script>
Então você chama a função na página.
Code Snippet<body onload="displayTime();">
<div id="div1">
</div>
</body>
Posts Relacionados:
http://forums.asp.net/p/1247758/2303034.aspx
Como acessar um controle utilizando Javascript?
Referencie a propriedade ClientID (ou UniqueID) do controle no Javascript.
OuCode SnippetCode-behind:
protected void Page_Load(object sender, EventArgs e)
{
Button btn = new Button();
btn.ID = "Button1";
btn.Attributes.Add("runat", "server");
btn.Attributes.Add("onclick", "pop('" + btn.ClientID + "')");
btn.Text = "Teste";
this.form1.Controls.Add(btn);
}
.Aspx:
<script type="text/javascript">
function pop(InputBoxID)
{
var InputControl = document.getElementById(InputBoxID);
alert(InputControl.value);
}
</script>
Use o seguinte método:
Code SnippetCode-behind:
btn.Attributes.Add("onclick", "pop(this)");
.Aspx:
<script type="text/javascript">
function pop(InputBox)
{
alert(InputBox.value);
}
</script>
Posts Relacionados:
http://forums.asp.net/p/1239593/2260331.aspx#2260331
Como chamar uma função do lado do servidor com Javascript?
Primeiramente, você pode criar um botão e adicionar o código no evento button_click.
Você também pode utilizar o seguinte código para chamar a função utilizando BLOCKED SCRIPT
Code Snippetdocument.getElementById("btn1").click();
Posts Relacionados:
http://forums.asp.net/p/1242420/2274228.aspx
Como retornar variáveis do lado do servidor através de Javascript?
Então você pode acessar o controle HiddenField1 utilizando JavascriptCode Snippet.Aspx
<asp:HiddenField ID="HiddenField1" runat="server" />
Code-behind:
private string str = "teste";
protected void Page_Load(object sender, EventArgs e)
{
HiddenField1.Value = str;
}
Declare a variável como public no servidor:Code Snippet.Aspx:
<script type="text/JavaScript">
Var tt = document.getElementByID(“HiddenField1”);
alert(tt.value);
</script>
Code SnippetCode-behind:
public string str = "teste";
E você pode chamá-la através do Javascript
Code Snippet<script language="JavaScript">
alert("<%=str%>");</script>
Posts Relacionados:
http://forums.asp.net/p/1000655/1319119.aspx
Como passar um valor para um campo oculto utilizando javascript em ASP.Net?
Você pode usar javascript para passar um valor para um controle oculto e pegar o seu valor no servidor após um postback.
Code Snippet.Aspx:
<script type="text/JavaScript">
var str="teste"
document.getElementById("Hidden1").value=str
</script>
<input id="Hidden1" type="hidden" />
Code-behind:
protected void Page_Load(object sender, EventArgs e)
{
string str = Request["Hidden1"].ToString();
}
Posts Relacionados:
http://forums.asp.net/p/1262153/2362090.aspx
Como registrar uma função Javascript no Code-behind?
Use RegisterStartupScript:
Code-behind:
Code Snippetthis.Page.ClientScript.RegisterStartupScript(this.GetType(), "alert", "<script>alert(‘teste’);</script>");
Use Literal control:
Posts Relacionados:Code Snippetvoid Button1_Click(object sender, EventArgs e)
{
string str;
str = "<script language='JavaScript'>";
str += "selectRange()";
str += "</script>";
Literal1.Text = str;
}
http://forums.asp.net/p/981603/1257057.aspx#1257057
Como exibir imagens com um atraso de 5 segundos?
Utilizando esse script você pode ver imagens clicávies em tempo real sem a necessidade de programas de terceiros ou atualização de página. Você deverá ver uma nova imagem após cada 5 segundos:
Posts Relacionados:Code Snippet<script language="javascript">
var image="";
var banners=0;
function loadbanners()
{
if (banners==1)
{
image="http://localhost:4040/test/Backup1/images/1.png";
}
if (banners==2)
{
image="http://localhost:4040/test/Backup1/images/2.png";
}
if (banners==3)
{
image="http://localhost:4040/test/Backup1/images/3.png";
}
}
function cycle()
{
if (++banners > 3)
banners=1;
loadbanners();
document.banner1.src =image;
window.setTimeout('cycle();',5000);
}
</script>
http://forums.asp.net/p/1213103/2147140.aspx
Como capturar as configurações do Browser e aplicar controles de página?
Você pode usar o JavaScript, suponha que o tipo de controle é <image>.
Você pode usar o código abaixo:
Code Snippet<script type="text/javascript" language="JavaScript">
var winWidth = 0;
var winHeight = 0;
function resizeImage(){
var img=document.getElementById("testImage")
if (window.innerWidth)
winWidth = window.innerWidth;
else if ((document.body) && (document.body.clientWidth))
winWidth = document.body.clientWidth;
if (window.innerHeight)
winHeight = window.innerHeight;
else if ((document.body) && (document.body.clientHeight))
winHeight = document.body.clientHeight;
if (document.documentElement &&
document.documentElement.clientHeight &&
document.documentElement.clientWidth)
{
winHeight = document.documentElement.clientHeight;
winWidth = document.documentElement.clientWidth;
}
img.width= winHeight;
img.width= winWidth;
}
</script>
HTML tag:
Code Snippet<img src="../images/3.jpg" id="testImage" />
Por favor substituir style ="width: 343px; height: 169px" se a imagem tiver o seu estilo.
Posts Relacionados:
http://forums.asp.net/p/1228180/2212987.aspx
Como apagar a sessão quando o usuário fechar a janela?
Use o código:
Code Snippet<script type="text/javascript" language="javascript">
Function window.onbeforeunload()
{
if(event.clientX>document.body.clientWidth&&event.clientY<0||event.altKey)
{
Var xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET","exit.aspx",false);
xmlhttp.send();
}
}
</script>
Então você pode apagar a sessão na página exit.aspx.
Code SnippetSession.Clear();
Posts Relacionados:
http://forums.asp.net/p/1237752/2255401.aspx
Topo- EditadoRafael FagundesModeradorsexta-feira, 30 de janeiro de 2009 12:00
- Métodos de passar dados entre páginas
Como utilizar cookies?
Crie uma página chamada page1.aspx e crie um botão e um Textbox na página. Dê um duplo clique no botão e então adicione o seguinte código:
Code Snippetprotected void Button1_Click(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("UserName");
cookie.Value = TextBox1.Text;
cookie.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(cookie);
Response.Redirect("Page2.aspx");
}
page1.aspx:<div>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
Na page2.aspx, dê um duplo clique no formulário e adicione o seguitne código:
Posts Relacionados:Code Snippetprotected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["UserName"] != null)
Response.Write(Request.Cookies["UserName"].Value);
}
http://forums.asp.net/t/1223291.aspx
Como utilizar QueryString?
Web Form de destino:Code Snippetprivate void Button1_Click(object sender, System.EventArgs e)
{
string url;
url = "anotherwebform.aspx?name=" +
TextBox1.Text + "&email=" + TextBox2.Text;
Response.Redirect(url);
}
Posts Relacionados:Code Snippetprivate void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = Request.QueryString["name"];
Label2.Text = Request.QueryString["email"];
}
http://forums.asp.net/p/1223291/2191155.aspx
Como utilizar Session?
Web Form de destino:Code Snippetprivate void Button1_Click(object sender, System.EventArgs e)
{
Session["name"] = TextBox1.Text;
Session["email"] = TextBox2.Text;
Server.Transfer("anotherwebform.aspx");
}
Posts Relacionados:Code Snippetprivate void Page_Load(object sender, System.EventArgs e)
{
Label1.Text = Session["name"].ToString();
Label2.Text = Session["email"].ToString();
Session.Remove("name");
Session.Remove("email");
}
http://forums.asp.net/p/1255625/2333723.aspx
Como utilizar Use Context?
Posts Relacionados:Code Snippet//Page1.aspx armazena o valor no context antes da transferencia
Context.Items("UserName") = txtName.Text;
Server.Transfer("Page2.aspx");
//Page2.aspx retorna o valor do context da Page1
string sName;
sName = Context.Items("UserName").ToString;
Response.Write("Seu nome é " + sName);
http://forums.asp.net/t/1238286.aspx
Como utilizar PreviousPage?
OuCode Snippet.Aspx:
<asp:Button ID="buttonPassValue" runat="server" Text="Button" PostBackUrl="~/SecondForm.aspx">
</asp:Button>
Code-behind:TextBox1.Text = Request.Form["TextBox1"].ToString();
Como você pôde notar, essa é uma implementação simples e limpa de transferência de valores entre páginas.Code SnippetTextBox textBoxTemp = (TextBox)PreviousPage.FindControl("TextBox1");
TextBox1.Text = textBoxTemp.Text;
Posts Relacionados:
http://forums.asp.net/p/1048041/1474374.aspx
Como utilizar Submit Form?
page1.aspx:
Code Snippet<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script language="javascript">
function CopyTextToHiddenField()
{
var textbox1Value = document.getElementById("<%=TextBox1.ClientID%>").value;
document.forms[1].document.getElementById("Hidden1").value = textbox1Value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</form>
<form name="SubmittedForm" action="page2.aspx" method="post">
<input id="Submit1" type="submit" value="submit" onclick="CopyTextToHiddenField()" />
<input name="Hidden1" type="hidden" />
</form>
</body>
</html>
page2.aspx:
Code Snippet<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.Form["Hidden1"]);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
Posts Relacionados:
http://forums.asp.net/p/1257184/2339923.aspx
Como utilizar Server.Transfer?
page1.aspx:
Code Snippet<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button_Click(object sender, EventArgs e)
{
Server.Transfer("page2.aspx", true);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button_Click" /> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
page2.aspx:
Posts Relacionados:Code Snippet<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(Request.Form["TextBox1"]);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
http://forums.asp.net/p/1262144/2362078.aspx
Referência:
http://msdn.microsoft.com/pt-br/library/6c3yckfw.aspx
Topo
- Upload de Arquivo
Como fazer upload de um arquivo?
Exemplo:
Code Snippet
.Aspx:<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Carregar Arquivo" />
Code-behind:protected void Button1_Click(object sender, EventArgs e)
{
if (FileUpLoad1.HasFile)
{
FileUpLoad1.SaveAs(Server.MapPath("upload") + "\\" + FileUpLoad1.FileName);
}
}
Como fazer o upload de vários arquivos de uma vez?
Por favor verifique o seguinte artigo em que Haissam Abdul Malak explicam como fazer o upload de vários arquivos de modo organizado utilizando o controle HtmlInputFile.
Posts Relacionados:
http://forums.asp.net/t/1263738.aspx
Referência:
http://aspalliance.com/1221_CodeSnip_Uploading_Multiple_Files_At_Once.all
Como capturar o tipo de dado do arquivo carregado?
Utilize a seguinte propriedade para capturar o tipo de dados do arquivo:
Code SnippetFileUpload1.PostedFile.ContentType;
Como capturar o tamanho do arquivo carregado?
Utilize a seguinte propriedade:
Code SnippetFileUpload1.PostedFile.ContentLength;
Porque ocorre falha ao fazer o upload de arquivos grandes quando utilizado o controle ASP.NET FileUpload?
Por motivos de segurança, ASP.NET é limitada em termos de tamanho do arquivo enviado. O tamanho padrão máximo de arquivo é de 4 MB, mas isto pode ser mudado através da modificação do atributo MaxRequestLength do elemento <httpRuntime> do Machine.config.
executionTimeout: Número máximo de segundos de execução de uma solicitação antes de ser automaticamente fechada pelo ASP.Net. O Padrão é de 90 segundos no ASP.Net 1.x e 110 segundos no ASP.Net 2.0.
maxRequestLength: Quantidade máxima da solicitação em quilobytes. O tamanho padrão é 4096 KB (4 mb).
Exemplo para permitir arquivos de 1GB com limite de tempo de requisição de 10 minutos:
Code Snippet<httpRuntime maxRequestLength="1048576" executionTimeout="600" />
Alterar o tamanho padrão do arquivo que pode ser enviado é uma falha de segurança e pode ser utilizado em ataques de negação de serviço através de OOMS no servidor.
Para máxima segurança contra ataques de negação de serviço, essa configuração deve ser feita em uma tag <location> para limitar o efeito somente em uma determinada página que realiza uploads. Exemplo:
Referência:Code Snippet<location path="Page.aspx">
<system.web>
<httpRuntime
maxRequestLength="1048576"
executionTimeout="600" />
</system.web>
</location>
http://forums.asp.net/t/1074332.aspx
http://forums.asp.net/p/1106754/1696069.aspx#1696069
Como fazer upload de imagens somente?
Exemplo:
Posts Relacionados:Code Snippet<table>
<tr>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" />
</td>
</tr>
<tr>
<td>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Carregar Arquivo" />
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label1" runat="server" />
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ErrorMessage="<div>Somente imagens são permitidas!</div>" ValidationExpression="^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.jpg|.jpeg|.gif|.bmp|.tiff|.tif|.png)$" ControlToValidate="FileUpload1"></asp:RegularExpressionValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="<div>*Selecione um arquivo!</div>" ControlToValidate="FileUpload1"></asp:RequiredFieldValidator>
</td>
</tr>
</table>
http://forums.asp.net/p/1051895/2171502.aspx
Como fazer com que o contole File Upload funcione com um UpdatePanel?
O controle não funciona com postbacks assíncronos, e, portanto, não funciona dentro de uma AJAX UpdatePanel.
O truque para fazer o FileUpload funcionar dentro de uma UpdatePanel Ajax é a configuração de um PostBackTrigger no controle UpdatPanel.
Exemplo:
Code Snippet<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<Triggers>
<asp:PostBackTrigger ControlID="Button1" />
</Triggers>
<ContentTemplate>
<asp:FileUpload ID="fileupload1" runat="server" /><br />
<asp:Button ID="Button1" runat="server" Text="Upload" OnClick="Button1_Click" /><br />
<asp:Label ID="Lable1" runat="server" Text=""></asp:Label>
<asp:LinkButton ID="LinkButton1" runat="server" Text="Clique Aqui" OnClick="LinkButton1_Click"></asp:LinkButton>
</ContentTemplate>
</asp:UpdatePanel>
Posts Relacionados:
http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3764572&SiteID=21&wa=wsignin1.0
Topo
- Calendar
Como mudar as definições do controle Calendar?
No calendar.aspx.cs:
Code Snippetprotected void Page_Load(object sender, EventArgs e)
{
System.Globalization.CultureInfo culture = System.Globalization.CultureInfo.CreateSpecificCulture("ens");
System.Threading.Thread.CurrentThread.CurrentCulture = culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = culture;
}
Posts Relacionados:
http://forums.asp.net/t/1133896.aspx
Como selecionar vários datas não sequencias no Code-behind?
Chame a função Add da collection SelectedDates do controle. Você pode adicionar datas em qualquer seqüência, porque a collection irá automaticamente organizá-las em ordem.
Code Snippetprotected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
Calendar1.SelectedDates.Clear();
Calendar1.SelectedDates.Add(new DateTime(2008, 8, 1));
Calendar1.SelectedDates.Add(new DateTime(2008, 8, 7));
Calendar1.SelectedDates.Add(new DateTime(2008, 8, 15));
}
Posts Relacionados:
http://forums.asp.net/t/1260917.aspx
Como desabilitar algumas datas no controle Calendar?
Code Snippetprotected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
string date="02/01/2008";
DateTime dt = DateTime.Parse(date);
if (e.Day.Date == dt)
e.Day.IsSelectable = false;
}
Posts Relacionados:
http://forums.asp.net/t/1230073.aspx
Como estender o controle Calendar para validação do lado do servidor?
Referência:
http://support.microsoft.com/?scid=kb%3Bpt-br%3B310145&x=20&y=16
Como definir ToolTips e links no evento DayRender do controle Calendar?
Code Snippetprotected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
e.Cell.Controls.Clear();
HyperLink link = new HyperLink();
link.Text = e.Day.Date.Day;
link.ToolTip = "Adicione o seu texto!";
link.NavigateUrl = url;
e.Cell.Controls.Add(link);
}
Posts Relacionados:
http://forums.asp.net/p/1036174/1800067.aspx
Como definir diferentes aparências para datas?
Você fazê-lo através do seguinte código:
Code Snippetprotected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
if (e.Day.Date.Month == 2 && e.Day.Date.Day == 25)
{
e.Cell.BackColor = System.Drawing.Color.Yellow;
}
if (e.Day.Date.DayOfWeek == DayOfWeek.Friday || e.Day.Date.DayOfWeek == DayOfWeek.Saturday)
{
e.Cell.Controls.Clear();
e.Cell.Text = "Final de Semana";
}
}
Topo
- List Controls
Como habilitar um ASP.NET DropDownList com suporte a OptionGroup?
Você pode sobrescrever a função de DropDownlist e adicionar uma propriedade para isto.
Segue abaixo alguns artigos sobre isso.
Verifique:
http://www.codeproject.com/KB/custom-controls/xlist.aspx
http://www.codeproject.com/KB/custom-controls/DropDownListOptionGroup.aspx
Como desabilitar um item no DropDownList?
Posts Relacionados:Code Snippet<asp:DropDownList ID="DropDownList1" runat="server" Width="235px" AutoPostBack="False">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
</asp:DropDownList>
<script type="text/javascript" language="javascript">
function change()
{
var dd=document.getElementById ('<%=DropDownList1.ClientID %>');
var value=dd.options[dd.selectedIndex].value;
if(value!="2") //Exemplo para desabilitar o item de número 2
{
setTimeout("__doPostBack('DropDownList1','')", 0);
}
}
</script>
protected void Page_Load(object sender, EventArgs e)
{
DropDownList1.Attributes.Add("onchange", "change();");
}
http://forums.asp.net/p/1041568/1451492.aspx
Como manter selecionado um valor em um DropDowlist?
Você deve colocar o código de Databinding do DropDownlist no bloco !page.Ispostback.
O bloco !postback irá garantir que só será preenchida uma vez durante post backs.
Posts Relacionados:Code Snippetif(!Page.IsPostBack)
{
//Código de Databinding do DropDownList
}
http://forums.asp.net/p/1251081/2312321.aspx
Topo
- User control
Como adicionar uma nova propriedade em um UserControl?
Você pode configurar novas propriedades dentro da classe definição do usuário em seu controle no arquivo Ascx.cs.
Exemplo:
Arquivo ascx:
Code Snippet<%@ Control Language="C#" AutoEventWireup="true" CodeFile="WebUserControl.ascx.cs" Inherits="WebUserControl" %>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Calendar ID="Calendar1" runat="server"></asp:Calendar>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
Arquivo ascx.cs:
Code Snippetpublic partial class WebUserControl : System.Web.UI.UserControl
{
String text2 = String.Empty;
public String Text
{
get
{
return Label1 .Text ;
}
set
{
Label1 .Text = value;
}
}
public String Text2
{
get
{
return text2;
}
set
{
text2 = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Text = text2;
}
}
Ascx:
Posts Relacionados:Code Snippet<%@ Register Src="WebUserControl.ascx" TagName="WebUserControl" TagPrefix="uc1" %>
<uc1:webusercontrol id="WebUserControl1" runat="server" text="Olá Mundo" text2="Olá Mundo">
</uc1:webusercontrol>
http://forums.asp.net/t/349580.aspx
Como acessar UserControl criados dinamicamente?
Você pode utilizar o método FindControl para pegar uma referência do controle filho alvo do seu user control e então utilizá-lo como qualquer outro controle.
Exemplo:
Code SnippetTextBox tbPromoCode = Page.FindControl("ucRegister1").FindControl("PromoCode") as TextBox;
tbPromoCode.Text = "Teste";
"ucRegister1" é o meu User Control da web page.
Como acessar o controle dentro de um UserControl?
Assumindo que existe um UserControl chamado UC e que existe somente um controle TextBox dentro dele. Agora arraste esse contole dentro da página, você pode utilizar o seguinte código para acessar o TextBox:
http://msdn.microsoft.com/pt-br/library/system.web.ui.inamingcontainer.aspxCode Snippet((TextBox)UC1.FindControl("TextBox1")).Text = "Teste";
Para saber mais sobre os princípios básicos verifique o seguinte link:
Topo
- Controles dinâmicos
Como criar um controle dinâmico?
Você pode criar um controle dinâmico no evento Page_Init() ou no evento Page_Load():
Code Snippetprotected void Page_Load(object sender, EventArgs e)
{
TextBox dynamicTextBox = new TextBox();
dynamicTextBox.ID = "DynamicTextBox";
dynamicTextBox.AutoPostBack = true;
dynamicTextBox.Text = "InitData";
dynamicTextBox.TextChanged += new EventHandler(dynamicTextBox_TextChanged);
this.Form.Controls.Add(dynamicTextBox);
}
void dynamicTextBox_TextChanged(object sender, EventArgs e)
{
Response.Write("Teste");
}
Posts Relacionados:
http://forums.asp.net/t/1152363.aspx
Como acessar o valor inserido por um usuário em um controle criado dinamicamente?
1.Obter o valor a partir de dados do formulário POST. Aqui está o código:
Code Snippetif(Request.Form["dynamicTextBox"] != null)
selectedValue = Request.Form["dynamicTextBox"].ToString();
2.Obter o valor através do método FindControl:
Code SnippetTextBox txt=this.form1.FindControl("dynamicTextBox") as TextBox;
Posts Relacionados:
http://forums.asp.net/p/1119972/1745762.aspx
Como acessar o controle dinâmico através do Javascript?
Referencie a propriedade ClientID (ou UniqueID) do controle no Javascript.
OuCode Snippetprotected void Page_Load(object sender, EventArgs e)
{
Button btn= new Button();
btn.ID = "btn5";
btn.Attributes.Add("runat", "server");
btn.Attributes.Add("onclick", "pop('" + btn.ClientID + "')");
btn.Text = "Test";
this.form1.Controls.Add(btn);
}
function pop(InputBoxID)
{
var InputControl = document.getElementById(InputBoxID);
if (InputControl != null)
window.alert(InputControl.value);
}
Use o seguinte método:
Code Snippetbtn.Attributes.Add("onclick", "pop(this)");
function pop(InputBox)
{
alert(InputBox.value);
}
Posts Relacionados:
http://forums.asp.net/p/1239593/2260331.aspx#2260331
Como manter todos os controles adicionados dinamicamente após um post back?
Você deve recriar esses controles dinâmicos nos eventos de Page_load ou Page_init() toda vez:
Code Snippetprotected void Page_Load(object sender, EventArgs e)
{
//Recriar controle dinâmico
}
Ou você pode armazenar o controle dinâmico em cache e então restaurá-lo no evento de Page_Load.
Code Snippet<asp:placeholder runat="server" ID="PlaceHolder2"></asp:placeholder>
protected void Button4_Click(object sender, EventArgs e)
{
Panel tt = new Panel();
TextBox tb = new TextBox();
tb.ID = "txtName";
tb.Text = "Teste";
tt.Controls.Add(tb);
PlaceHolder2.Controls.Add(tt);
Cache["tt"] = tt;
}
protected void Page_Load(object sender, EventArgs e)
{
if (Cache["tt"] != null)
{
Panel tt = Cache["tt"] as Panel;
PlaceHolder2.Controls.Add(tt);
}
}
Posts Relacionados:
http://forums.asp.net/p/1242809/2280514.aspx
Porque controles dinâmicos desaparecem após um post back?
O botão dinâmico deve ser recriado após cada post back. Para isso remova o bloco if(!Page.IsPostBack). O recomendado é que os controles sejam criados no evento de Page_Init.
Verifique:
http://forums.asp.net/p/1080863/1598618.aspx
Topo
- Estilo
Como adicionar estilo através do Code-behind?
Code SnippetLabel1.Attributes.Add("style", "background-color:Red");
Como adicionar estilo através de javascript?
Code Snippetdocument.getElementById("Label1").style.backgroundColor = "Red";
Como remover espaço?
Adicione o seguinte código na tag “head”:
Code Snippet<style type="text/css">
body
{
padding: 0px;margin: 0px;
}
</style>
Como adicionar estilo através do html?
Code Snippet<link href="<%= CSS %>" rel="stylesheet" type="text/css" />
Note: A folha de estilo geralmente é referenciada na tag <head>, porém pode ser referenciada na tag <body> também. Convém lembrar que a tag <head> deve ter o atributo runat=”server”.
Posts Relacionados:
http://forums.asp.net/p/1197909/2076464.aspx
Como definir uma imagem como plano de fundo de um botão?
Code Snippet<input name="Submit" type="button" value="" style="border-style: none; background-color: Transparent; background-image: url('bg.png'); width:68px; height: 20px; vertical-align: middle;" />
Posts Relacionados:
http://forums.asp.net/t/299555.aspx
Como colorir itens em um ListBox?
Exemplo de código:
Code Snippet<style type="text/css">
.optred{background-color:red;}
.optblue{background-color:blue;}
</style>
protected void Page_PreRender(object sender, EventArgs e)
{
bool flag = false;
foreach (ListItem li in ListBox1.Items)
{
if (flag)
{
li.Attributes.Add("class", "optred");
flag = false;
}
else
{
li.Attributes.Add("class", "optblue");
flag = true;
}
}
}
Verifique:
http://www.codeproject.com/KB/webforms/ColorListBox.aspx
Topo
- Impressão
Como imprimir parte de uma página web através de CSS?
Exemplo:
Code Snippet<style media="print">
.Noprint
{
display: none;
}
.Print
{
page-break-after: always;
}
</style>
Html:
<div class="Noprint">
Isto não será impresso;
</div>
<div class="Print">
Isto será impresso;
</div>
Posts Relacionados:
http://forums.asp.net/t/981539.aspx
Como imprimir parte de uma página web através de javascript (1)?
Code SnippetBLOCKED SCRIPT
<script language="JavaScript" type="text/JavaScript">
function doPrint() {
bdhtml = window.document.body.innerHTML;
sprnstr = "<!--startprint-->";
eprnstr = "<!--endprint-->";
prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr)+17);
prnhtml = prnhtml.substring(0,prnhtml.indexOf(eprnstr));
window.document.body.innerHTML = prnhtml;
window.print();
}
</script>
Html:
<!--startprint-->
Essa área será impressa!
<!--endprint-->
<br />
Essa área não será impressa
<input id="btnPrint" type="button" value="Print" onclick="doPrint()" />
Posts Relacionados:
http://forums.asp.net/p/1234564/2256428.aspx
Como imprimir parte de uma página web através de javascript (2)?
Code SnippetBLOCKED SCRIPT
<script language="javascript" type="text/javascript">
function printdiv(divID)
{
var headstr = "<html><head><title></title></head><body>";
var footstr = "</body>";
var newstr = document.all.item(divID).innerHTML;
var oldstr = document.body.innerHTML;
document.body.innerHTML = headstr+newstr+footstr;
window.print();
document.body.innerHTML = oldstr;
return false;
}
</script>
HTML:
<input name="b_print" type="button" onclick="printdiv('divID');" value=" Print " />
<div id="divID">
<h1 style="color: green">
O conteúdo do DIV que você quer imprimir</h1>
</div>
Posts Relacionados:
http://forums.asp.net/t/1263912.aspx
Topo
- Mail
Quais classes são necessárias para enviar email no ASP.Net?
As classes MailMessage e SmtpMail são usadas para enviar emails através de uma aplicação ASP.NET. MailMessage e SmtpMail fazem parte do namespace System.Web.Mail da biblioteca do .NET Framework 1.1. Você pode utilizar também o System.Net.Mail ao invés de System.Web.Mail se você possui o .NET Framework 2.0 instalado.
Como enviar emails utilizando System.Net.Mail?
Code SnippetCode-Behind:
MailMessage message = new MailMessage();
message.From = new MailAddress("fromusername@DomainName");
message.To.Add(new MailAddress("tousername@DomainName"));
message.CC.Add(new MailAddress("ccusername@DomainName"));
message.Subject = "Subject";
message.Body = "Content";
SmtpClient client = new SmtpClient();
client.Send(message);
web.config:
<system.net>
<mailSettings>
<smtp from="username@DomainName">
<network host="SMTPServerName" port="25" userName="username" password="secret" defaultCredentials="true" />
</smtp>
</mailSettings>
</system.net>
Posts Relacionados:
http://forums.microsoft.com/msdn-br/ShowPost.aspx?PostID=2655211&SiteID=21
Como configurar um servidor SMTP?
Tendo como exemplo o IIS, por favor verifique os seguintes links:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/56c94d38-b10f-4a1b-a1cd-3714387a042a.mspx?mfr=true
Verifique:
http://www.codeproject.com/KB/winsdk/ConfigServerSmtp.aspx
Como enviar um email para servidor Gmail?
Por favor leia o FAQ “Como enviar emails utilizando System.Net.Mail?” primeiro. Após lê-lo você deverá prestar atenção às seguintes configurações:
O nome do servidor de SMTP do Gmail é “smpt.gmail.com”;
A porta do Gmail é 465, e não a padrão 25;
A autenticação SSL deverá estar configurada como “true”;
Então o segredo para enviar emails com sucesso para contas do Gmail é: porta 465, nome do servidor “smtp.gmail.com” e SSL = true.
Posts Relacionados:
http://forums.asp.net/p/1167140/1944223.aspx
Topo
- GridView
Como editar de dados de um Gridview com DropDownlist?
Verifique o seguinte link:
http://msdn.microsoft.com/pt-br/library/cc580581.aspx
Como exportar dados do Gridview para Excel?
Exemplo de código:
Code SnippetAspx:
<asp:gridview id="GridView1" runat="server" allowpaging="True" allowsorting="True"
datasourceid="SqlDataSource1"></asp:gridview>
<asp:sqldatasource id="SqlDataSource1" runat="server" connectionstring="<%$ConnectionStrings:AdventureWorksConnectionString %>" selectcommand="SELECT * FROM [Person].[ContactType]"></asp:sqldatasource>
<asp:button id="Button1" runat="server" text="Button" />
Code-behind:
protected void Button1_Click(object sender, System.EventArgs e)
{
GridView gd = new GridView();
gd.DataSource = SqlDataSource1;
gd.DataBind();
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.ms-excel";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1");
Response.Charset = "";
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
gd.RenderControl(oHtmlTextWriter);
Response.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
gd.Dispose();
}
Verifique o seguinte link:
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/exportxl_asp2_dc11032006003657AM/exportxl_asp2_dc.aspx?MessageChildID=830&Delete=true
Como alterar as propriedades de um TextBox do GridView?
Você pode converter o campo em questão em TemplateField (Clique na seta no canto superior direito do Gridview e selecione 'Edit Columns...')
Dessa forma você terá acesso ao código do TextBox e poderá alterar suas propriedades:
Exemplo:
Code Snippet<asp:TemplateField HeaderText="OBS" SortExpression="OBS">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("OBS") %>' Width="50"></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("OBS") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Verfique o seguinte link:
http://msdn.microsoft.com/pt-br/library/cc518055.aspx
Como atualizar campo do GridView com a data atual?
Você pode utilizar a propriedade GridViewUpdateEventArgs.NewValues e adicionar o novo valor de acordo com o nome da coluna (por exemplo a coluna "DATA").
Segue abaixo um exemplo de código:
Code Snippetprotected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
e.NewValues["DATA"] = DateTime.Now.ToString();
}
Verique o link:
http://forums.microsoft.com/MSDN-BR/ShowPost.aspx?PostID=3623759&SiteID=21
Topo
- Configuração
Onde armazenar informações de configuração de uma aplicação?
Você pode utilizar o arquivo web.config. Para armazenar informações básicas da aplicação utilize o elemento <AppSettings> do arquivo web.config.
Exemplo:
Code Snippet<configuration>
<appsettings>
<add key="chave1" value="valor1"/>
<add key="chave2" value="valor2"/>
</appsettings>
</configuration>
Para acessar as informações armazenadas no web.config utilize o seguinte código, exemplo:
Code Snippetprotected void Page_Load(object sender, EventArgs e)
{
Response.Write(ConfigurationManager.AppSettings["chave1"].ToString());
}
Exemplo para armazenar ConnectionStrings:
Arquivo web.config:
Code Snippet<connectionStrings>
<add name ="ConnectionString1" connectionString="Provider=SQLNCLI;Server=myServerAddress;Database=myDataBase;Trusted_Connection=yes;"/>
</connectionStrings>
No seu código:
protected void Page_Load(object sender, EventArgs e)
{
string ConnStr;
ConnStr = ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString();
}
Verifique o seguintes links:
http://msdn.microsoft.com/pt-br/library/ms228154.aspx
Topo
- EditadoRafael FagundesModeradorsexta-feira, 30 de janeiro de 2009 12:03
- Sensacional sua coletanea de dicas.
Valeu ! Show ....
muito 10...
t+
Edson Domenech
Post realment util,
Não precisamos ficar com isso procurando por dúvidas básicas por todo o fórum.
Rafael, só tenho uma coisa a dizer:
PARABÉNS!!!
Como exibir data e hora do cliente?
O código descrito não funciona com o firefox versão 3.0.3:
* A instrução var year= localTime.getYear(); retorna o ano errado (108 ao invés de 2008 por exemplo)
* A instrução div.innerText = year+"-"+month+"-"+date+" "+hours+":"+minutes+":"+seconds; não mostra nada dentro da div
O código funcionou no IE 7.0.5
Att.Parabéns Rafael,
Muito útil.
Abraços
cara muito bom esse post vai me ajuda muito hehe
=)
- Boa iniciativa! parabens!
inté.;.;
Rafael N. Miranda - Aqui pra mim o título aparece assim Perguntas Mais Freqüentes de ASP.NET
Com a palavra frequentes errada, freqüentes.
Se algupem conseguir alterar! Fica a dica!
Rodrigo Deguir Aqui pra mim o título aparece assim Perguntas Mais Freqüentes de ASP.NET
Com a palavra frequentes errada, freqüentes.
Se algupem conseguir alterar! Fica a dica!
Rodrigo Deguir
Altera o encoding do seu browser.Rafael,
Meus parabéns, excelente tópico, de muita utilidade.
Abração e sucesso.
Eduardo.
Eduardo Nardi- OTIMO POST CARA
- Rafael,
Valeu cara , ajudou muito!!
Américo.
Américo Arvani MCP/MCTS - WEB
