Visual Basic.NET - Como puedo agregar codigo c ??

 
Vista:

Como puedo agregar codigo c ??

Publicado por noelia (1 intervención) el 18/07/2005 14:24:05
Me dieron esta rutina en C que me permitiria poder utilizar Enter en los cuadros
textbox, pero quisiera saber como puede insertar tal codigo en un formulario web
de .net. para poder llamarla al cargar la pagina

gracias

ahi va el codigo


protected void RegisterENTERRoutine()
{
StringBuilder cs = new StringBuilder();
string fName="Form1"; ///Nombre del formulario cambiar si es necesario
int control_count = 0;
///recorremos todos los controles en el formulario
foreach(Control c in Page.FindControl(fName).Controls)
{
///Nos interesan por ahora sólo los TextBoxes
if ((c is TextBox) && (((TextBox)c).Enabled) && (!((TextBox)c).ReadOnly))
{
///construimos el arreglo o vector paso a paso
cs.Append(" '"+c.ID+"',");
control_count++;
///Añadimos un evento adicional para controlar el cambio de focus
((TextBox)c).Attributes.Add("onfocus","javascript:nextControl="+control_count.ToString()+";");
}
}
string holder = cs.ToString().Substring(0, cs.Length -1);
///registramos la cadena construida como un arreglo de JavaScript
Page.RegisterArrayDeclaration("controles", holder);

///Ahora el script que dará vida a esto
StringBuilder sb = new StringBuilder();
sb.Append("<script language=javascript>");
sb.Append("<!-- The JavaScript Source!! http://javascript.internet.com -->"); ///Inspiración
sb.Append("nextControl = 0;"); ///nextControl es el índice del próximo
sb.Append("Frm = '"+fName+"';");
sb.Append("ccount ="+control_count.ToString()+";");
sb.Append("netscape = document.layers;");
sb.Append("function kPress( eventoPulsaTecla ) ");///Aquí se intercepta el evento
sb.Append("{ tecla = (netscape) ? eventoPulsaTecla.which : window.event.keyCode;");
sb.Append(" if (tecla == 13) { ");
sb.Append(" eval('document.' + Frm + '.' + controles[nextControl] + '.focus()');");
sb.Append(" eval('if(nextControl < ccount-1) nextControl++; else nextControl = 0;');");
sb.Append(" return false; } }");
sb.Append("document.onkeydown = kPress; ");
sb.Append("if (netscape) document.captureEvents(Event.KEYDOWN); ");
sb.Append("</script>");
Page.RegisterClientScriptBlock("<ENTER>", sb.ToString());
}

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como puedo agregar codigo c ??

Publicado por tzener (83 intervenciones) el 19/07/2005 16:21:16
Puedes poner esta rutina en una libreria de clases hecha en C#, y al llamarla mandale como parametro la hoja web y la caja de texto donde se origino el Enter. Posiblemente tengas que cambiar un poco el codigo para referenciar a los controles pertenecientes al la pagina(parametro) que se recibio.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar