Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/07/2004, 10:51
Alfilxdama
 
Fecha de Ingreso: enero-2002
Mensajes: 136
Antigüedad: 22 años, 3 meses
Puntos: 1
Un procedimiento no se ejecuta

Hola, tengo el siguiente código (que lo he reducido para mayor claridad). Se trata de llenar un datagrid con los archivos de un directorio y poder bajar o eliminar el archivo seleccionado. En el procedimiento correspondiente sólo puse un mensaje para ver que se ejecute. Lo cierto es que cuando en Sub Page_Load no chequeo IsPostBack (es decir el código se ejecuta siempre que se carga la página) el comando "FileDo" se ejecuta (me muestra la leyenda). Pero cuando chequeo IsPostBack (que así lo quiero) el "FileDo" no se ejecuta. Si alguien sabe, gracias.
Este es el código:

<% @Page Language = "VB" Debug="true" %>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.IO"%>
<%@Import Namespace="System.IO.Directory"%>
<%@Import Namespace="System.IO.DirectoryInfo"%>

<Script Language="VB" Runat="Server">

Sub Page_Load(sender As Object, e As EventArgs)

if not IsPostBack then

dg1.visible = "true"
Dim wdir as String
wdir = "\Enterprise10"
Dim Dir As New System.IO.DirectoryInfo(server.mappath(wdir))
Dim DirInfo As System.IO.DirectoryInfo
Dim F As System.IO.FileInfo
Dim dt as DataTable = New DataTable()
dt.Columns.Add("FileName", Type.GetType("System.String"))
dt.Columns.Add("FileDate", Type.GetType("System.String"))
For Each F In Dir.GetFiles
dt.Rows.Add(new Object() {F.Name, F.CreationTime})
Next
dg1.DataSource = dt
dg1.DataBind()
end if
End Sub

Sub FileDo(src as Object, e as DataGridCommandEventArgs)
if (e.CommandSource.CommandName = "FileDelete") then
response.write("Leyenda para ver si ésto se ejecuta")
end if
End Sub

</Script>

<html>
<head>
<title>ASP.Net - Directorios y Archivos</title>
<META name="KeyWords" content="">
<META name="Description" content="">
<link rel="stylesheet" href="aspnet.css" type="text/css">
</head>
<body>
<div class="Title1">Lista de directorios</div>
<form id="Form1" runat="server">
<div align="center">

<asp:DataGrid runat="server" id="dg1" autogeneratecolumns=false OnItemCommand="FileDo"
width="75%" cellpadding=3 font-size="8pt" headerstyle-backcolor="#bbccdd"
headerstyle-font-bold enableviewstate=false>
<columns>
<asp:boundcolumn headertext="Nombre"
datafield="FileName" />
<asp:boundcolumn headertext="Fecha"
datafield="FileDate" />
<asp:buttoncolumn
text="Bajar a PC"
commandname="FileDown" />
<asp:buttoncolumn
text="Eliminar"
commandname="FileDelete" />
</columns>
</asp:datagrid>

</div>
</form>

</body>
</html>