1. A diferença entre <%=...%> e <%#... %>:
Resposta: <%=...%> é chamado quando o programa é executado e <%#... %> é chamado após o método DataBind()
2. Que tipos de dados o controle recebe?
Resposta: Os controles que recebem Bind geralmente incluem controles de coleção como DropDownList, DataList, DataGrid e ListBox. Os principais que estão incluídos são ArrayList, Hashtable, DataView e DataReader , podemos acertar no futuro, e isso acontecerá. não há erro que o DataTable esteja vinculado :)
3. DataBind, o sistema irá padronizar os dados obtidos para String, como convertê-los para outros tipos?
DataBinder.Eval(Container.DataItem,"tipo de conversão","formato")
O último "formato" é opcional e geralmente você não precisa se preocupar com isso. Container.DataItem é um item de dados agrupado e "tipo de conversão" refere-se a coisas como Integer, String e Boolean
4. Namespace principal:
<% @ Import Namespace="System.Data" %> Usado ao processar dados
<% @ Import Namespace="System.Data.ADO" % > Usado ao usar ADO.net;
<% @ Import Namespace="System.Data.SQL" %> Somente banco de dados SQL Server
<% @ Import Namespace="System.Data.XML" %> Não há necessidade de ver o que é usado para processar XML
<% @ Import Namespace="System.IO" %> Usado ao processar arquivos
<% @ Import Namespace="System.Web.Util" %> Todos irão usá-lo ao enviar e-mails
<% @ Import Namespace="System.Text" %> Propriedades e métodos comuns de 5.Connections (SQLConection ou ADOConnection) são usados ao codificar texto
:
ConnectionString Obtém ou define a instrução para conectar-se ao banco de dados
| ConnectionTimeout obtém ou define o tempo máximo para conexão com o banco de dados, que também é o tempo limite.
| DataBase obtém ou define o nome do banco de dados a ser aberto no servidor de banco de dados
DataSource obtém ou define DSN, todos estão familiarizados com ele :)
| Senha Obtenha ou defina a senha
| UserID obtém ou define o nome de login
| State obtém o status da conexão atual
| Open() abre a conexão
| Close() fecha a conexão
| Clone() Clona uma conexão. (Haha, ovelhas podem se conectar e eu também)
Exemplo:
SQLConnection minhaConexão = new SQLConnection();
myConnection.DataSource = "mySQLServer";
minhaConexão.Password = "";
minhaConexão.UserID = "sa";
minhaConnection.ConnectionTimeout = 30;
minhaConexão.Open();
myConnection.Database = "vento norte";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted
6. Métodos e propriedades de comando comumente usados
ActiveConnection Obtém ou define conexões
| CommandText executa a instrução SQL ou o nome do procedimento armazenado (StoredProcedure)
CommandTimeout O tempo máximo de execução
CommandType Existem três tipos de operações de comando (StoredProcedure, Text, TableDirect), o padrão é Text |
Parâmetros usados ao operar procedimentos armazenados |
| Execute() executa instruções SQL ou procedimentos armazenados
| ExecuteNonQuery() Igual ao anterior, a diferença é que não retorna um conjunto de registros
Clonar() Comando Clonar
Exemplo:
string mySelectQuery = "SELECIONE * FROM Categorias ORDER BY CategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";
SQLCommand meuCommand = new SQLCommand(mySelectQuery);
myCommand.ActiveConnection = new SQLConnection(myConnectString);
meuCommand.CommandTimeout = 15;
meuCommand.CommandType = CommandType.Text;< /FONT >
7. Dois métodos para abrir e fechar o banco de dados:
1.MyConnection.Open(); //Abre a conexão
MinhaConexão.Close();
2.MyCommand.ActiveConnection.Open();
MyCommand.ActiveConnection.Close()
8. Use DataSet para adicionar, modificar e excluir dados no banco de dados
a.Adicionar dados
DataRow dr=MyDataSet.Tables["UserList"].NewRow();
dr["UserName"] = "Notícias Semanais";
dr["ReMarcar"] = "100";
dr["Comentário"] = "Lindo MM";
MyDataSet.Tables.Rows.Add(dr);
b.
MyDataSet.Tables["UserList"].Rows[0]["UserName"]="Brother Flying Knife"
;
MyDataSet.Tables["UserList"],Rows[0].Delete();
d.Restaurar dados
if(MyDataSet.HasErrors)
{
MyDataSet.RejectChanges();
}
e. Detectar se o DataSet foi alterado
if(MeuDataSet.HasChanges)
{
//salva o código
}outro{
//Como não há alterações, não há necessidade de salvar para economizar tempo.
}
f. Atualizar banco de dados
MyComm.Update(MyDataSet); //Atualiza todas as tabelas do banco de dados
MyComm.Update(MyDataSet,"UserList"); //Atualiza uma tabela
9.DataGrid implementa função de paginação
AllowPaging="True" //Refere-se a permitir paginação, este é o mais importante. Com ele, podemos paginar.
PageSize="5" //Especifica o número de registros exibidos em cada página. Se não for escrito, o padrão será 10.
PagerStyle-HorizontalAlign="Right" //Especifica o posicionamento da exibição facetada, o padrão é Left
PagerStyle-NextPageText="Próxima página" //Altera <> para a página anterior e as strings da próxima página
PagerStyle-PrevPageText="Página anterior"
PagerStyle-Mode="NumericPages" //Alterar <> para display digital 123
10. Exiba quantas páginas existem no total e em qual página o relatório está atualmente
A página atual é: <font color=red><%=DataGrid1.CurrentPageIndex+1%></font><br>
O número total de páginas é: <font color=red><%=DataGrid1.PageCount%></font><br>
11. Paginação personalizada
O "Close Contact ASP.Net (14)" do Basecamp do programador possui o código completo
12. Para redefinir a página para um estado válido
IValidador val;
foreach(val em validadores)
{
Val.IsValid = verdadeiro;
}
13. Execute novamente toda a sequência de verificação
IValidador val;
foreach(val em validadores)
{
Val.Validate();
}
14. Desative a verificação do cliente
<%@ Page Language="c#" clienttarget=nível inferior %>
15.Uso dos controles Repeater, DataList e DataGrid"
Esses controles podem simplificar vários cenários comuns de aplicações web, incluindo relatórios, carrinhos de compras, listas de produtos, consultas
Resultados e menu de navegação. Repeater é o único controle que permite fragmentos HTML em seu template.
16. A diferença entre Server.Execute("another.aspx") e Server.Transfer("another.aspx"):
Executa transferências da página atual para a página especificada e retorna a execução para a página atual
Transferência é transferir completamente a execução para a página especificada
17. O arquivo XML pode ter esquema próprio, ou pode existir no arquivo *.xsl, mas as informações devem ser especificadas no nó raiz do documento xml através do atributo xmlns, conforme mostrado abaixo:
<rootelement xmlns="x-schema:scheduledSchema.xsl">
18. Leitura de arquivos XML
FileStream myfs=new Filestream(Server.MapPath("xmldtagrid.xml"),FileMode.Open,FileAccess.Read);
StreamReader meuleitor=novo StreamReader(myfs);
DataSet myds=new DataSet();
myds.ReadXml(meuleitor);
19. Controle de expressão regular RegularExpressionValidator
Significado do símbolo
^ Especifique onde iniciar a verificação
$ especifica o fim da verificação
[] Verifica se o valor inserido corresponde a um dos caracteres entre colchetes
W permite que qualquer valor seja inserido
d{} "d" especifica que o valor de entrada é um número, {} indica o número de ocorrências do tipo de dados especificado
+ indica que um ou mais elementos serão adicionados à expressão que está sendo verificada
Exemplo: formato de e-mail (tem sinal @ e termina com .com/.net/.org/.edu)
validaçãoexpressão="^[w-]+@[w-]+.(com|net|org|edu)$"
20. Instruções importantes para operações de dados no controle DataGrid:
Propriedade: DataKeyField="userid" //Definir userid como chave primária da tabela O valor deste campo não pode ser atualizado para o banco de dados.
SqlCommand.Parameters["@userid"].Value=dg.DataKeys[(int)e.Item.ItemIndex] //Recupera a chave primária da linha a ser atualizada (atribui o valor da chave primária da linha atualmente selecionada para o comando é um parâmetro
SqlCommand.Parameters["@fname"].Value=((TextBox)e.Item.Cells[2].Controls[0]).Text //Atribuir o valor da linha modificado ao parâmetro;
21. Controles personalizados:
a. Controle de usuário (igual à página de criação ASP)
(I). Crie uma página, arraste o controle e defina propriedades/métodos A diretiva @Control em <% @Control Language="C#" Debug="True" %> para definir esta página conterá o código de controle.
(II) Salve como arquivo *.ascx, como a.ascx.
(III).Usar: Cabeçalho< %@Register Tagprefix="MyFirstControl" TagName="MyLbl" Src="a.axcs" %>
//Tagprefix é o prefixo do controle, como ASP:TextBox em ASP
//TagName é usado para especificar o nome do controle personalizado
//Src especifica a origem do arquivo de controle
Corpo:<MyFirstControl:MyLbl runat="Server" id="AllMine" MyText="Successful" />
b. Crie controles personalizados usando C#
(I). Crie um arquivo de código puro, herde a classe base Control e salve-o como *.cs, como a.cs.
(II). Compile o código para gerar um assembly: csc /t:library /r:System.dll,System.Web.Dll a.cs.
//biblioteca diz ao compilador C# para gerar um assembly
// /r:System.dll System.Web.Dll informa ao compilador C# para referenciar o assembly especificado
(III). Coloque o arquivo dll gerado no diretório bin.
(IV).Use: <% @Register TagPrefix="Mine" Namespace="MyOwnControls" Assembly="a" %>
22. Precauções para controles compostos:
public class MyCompositin:Control,INamingContainer //INamingContainer: se houver diversas instâncias desse controle na página, essa interface poderá fornecer a cada instância {} um sinalizador exclusivo
this.EnsureChildControls();//Indica que o controle composto será All controles filho são renderizados na página. Este método verifica se o controle do servidor contém controles filho
CreateChildControls.
23.Quando Button/LinkButton/ImageButton/HyperLink são usados?
1.Button e ImageButton são usados para passar dados de volta ao servidor.
2. O hiperlink é usado para navegar entre as páginas
3.LinkButton é usado para salvar dados no servidor ou acessar dados no servidor
24. Rastreamento e depuração
acompanhar:
1. Rastreamento de nível de página: inclua as seguintes instruções de página no início da página <%@ Page Trace="True" TraceMode="SortByCategory/SortByTime" %>
Mensagem personalizada:
Trace.Write("Aqui está a string a ser exibida");
Trace.Warn("Aqui está a string a ser exibida"); //Igual a Trace.Write, exceto que a fonte é vermelha
Verifique se o rastreamento é usado
Exemplo: if(Trace.IsEnabled) { Trace.Warn("Tracing está habilitado")}
2. Rastreamento em nível de aplicativo: <trace enabled="true" pageOutput="true"/> na seção <System.Web> do arquivo Web.config
25. Configure o cache:
1. Cache de saída:
I. Configurações da página: adicione <%@ OutputCache Duration="120" VaryByParam="none" %> ao início da página que precisa ser armazenada em cache
Observação: o conteúdo de saída permanece inalterado nos últimos dois minutos após a solicitação desta página.
II. Configurações programáticas:
Use principalmente métodos da classe System.Web.HttpCachePolicy
(1). Response.Cache.SetExpires(DateTime.Now.AddSeconds(120)); //O tempo de expiração deve ser especificado neste método, como esta //frase é de dois minutos.
(2).Resposta.Cache.SetExpires(DateTime.Now.AddSeconds(120));
Response.Cache.SetSlidingExpiration(true); //"Expiração ajustável" é usado principalmente para situações em que o número de visitas é grande no início, mas depois o número de visitas //é equilibrado
Função: A primeira linha define o tempo de expiração do cache e a segunda linha ativa a expiração deslizante (expiração ajustável).
2. Cache de dados:
(1).DataView mySource; (2).Atribuir valor a mySource;
(3).Cache["myCache"]=minhaFonte; (4).mySource=(DataView)Cache["myCache"]
26. Implementação: Copie diretamente para o servidor do produto para copiar a instrução: XCOPY <source_path> <destination_path> //XOPY aceita apenas caminhos físicos, não caminhos virtuais