Arquivos da Categoria: ASP.Net
Utilizando GridView
Pessoal, estes dias no Twitter vi um link muito bacana, gostaria de compartilhar com vocês:
“Editando e Excluindo dados no próprio GridView”
http://devbrasil.net/profiles/blogs/editando-e-excluindo-dados-no
Problem in Validation Summary When i call Javascript method at Button Clientclick
Este problema deve ser comum para quem possui um Validation Summary e precisa criar por exemplo um questionamento logo depois da validação completa, seja de campos obrigatórios ou outras validações em uma páginas aspx, o problema é que o Validation Summary deverá ser chamado “no braço”.
Dica:
OnClientClick="if(Page_ClientValidate()) return SuaValidacaoCliente(); return false;"
Obtendo o ID de objetos contidos no Web User Control em um arquivo js para utilizar com jQuery
Imagine a seguinte situação, tenho um Web User Control que irei utilizar no meu SharePoint, ele por sua vez utiliza um arquivo de js contendo várias funções com jQuery, e todos estes métodos acabam obtendo os objetos (TextBox, RadioButtonList, DropDownList, etc…) através do ID. Sabemos que o ID irá mudar a partir do momento que este wuc for adicionado em uma página aspx. E como saberemos o ID correto?
Vou mostrar uma forma de obter isto.
Cenário:
Arquivo js:
Exemplo.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Exemplo.aspx.cs" Inherits="WebApplication1.Exemplo" %>
<%@ Register src="wucExemplo.ascx" tagname="wucExemplo" tagprefix="uc1" %>
<form id="form1" runat="server">
<uc1:wucExemplo ID="wucExemplo" runat="server" />
</form>
wucExemplo.ascx (Web User Control)
<script src="/scripts/funcoes.js" type="text/javascript">
</script>
<div>
<asp:TextBox ID="txtOk" runat="server"></asp:TextBox>
<asp:DropDownList ID="ddlItens" runat="server">
<asp:ListItem Value="0">item1</asp:ListItem>
<asp:ListItem Value="1">item2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="btnConfirma" runat="server" Text="Confirma" OnClientClick="AlteraValor();" />
<asp:Button ID="btnMensagem" runat="server" Text="Confirma2" OnClientClick="Mensagem();" />
</div>
<script language="javascript" type="text/javascript">
function ObtemIdCampo(pNomeCampo) {
if (pNomeCampo.toUpperCase() == 'txtOk'.toUpperCase()) {
return '<%=txtOk.ClientID%>';
} else if (pNomeCampo.toUpperCase() == 'ddlItens'.toUpperCase()) {
return '<%=ddlItens.ClientID%>';
}
}
funcoes.js
function AlteraValor() {
alert(ObtemIdCampo('txtOk'));
alert(ObtemIdCampo('ddlItens'));
jQuery('#' + ObtemIdCampo('txtOk')).val('teste');
var Source = document.getElementById('txtOk');
}
function Mensagem(pDocument) {
var Source = document.getElementById(ObtemIdCampo('txtOk'));
alert(Source.value);
}
(function ($) {
$(function () {
$('#' + ObtemIdCampo('ddlItens')).change(function () {
alert(jQuery('#' + ObtemIdCampo('ddlItens') + ' option:selected').text());
});
});
})(jQuery);
Depois coloque para iniciar com a tela aspx e teremos isto:
O primeiro botão (Confirma) irá executar o método AlterarValor que está contido lá no arquivo js, ele por sua vez irá executar duas mensagens retornando o ID do botão txtOk e também do DropDownList por fim irá alterar o valor do TextBox usando jQuery.
O segundo botão (Confirma2) irá mostrar uma mensagem com o valor contido no TextBox utilizando o objeto documet e o método dele getElementById passando como parâmetro a função que está lá na página aspx para obter o ID correto.
Uma solução bem simples para obter o ID, creio que deve haver outras maneiras melhores do que esta, se alguém tiver post ai um comentário!!!