2013-07-17 2 views
0

Я использую команду runat в Public Sub в .aspx страницы следующим образом:ASP.NET - Как извлечь переменную из Sub с помощью VB?

<% Dim hasLabel %> 
<script runat="server"> 
    Public Sub Button1_Click(ByVal sender As Object, _ 
     ByVal e As System.EventArgs) 
     If FileUpload1.HasFile Then 
      Dim fileExt As String 
      fileExt = System.IO.Path.GetExtension(FileUpload1.FileName) 
      If (fileExt = ".docx" OR fileExt = ".doc") Then 
       Try 
        FileUpload1.SaveAs("path_to_file" & _ 
         FileUpload1.FileName) 
        Label1.Text = "<div class='centertext'>Statement Successfully Received, Thank You!<br /><br />File name: " & _ 
         FileUpload1.PostedFile.FileName & "<br>" & _ 
         "File Size: " & _ 
         FileUpload1.PostedFile.ContentLength & " kb</div>" 
       Catch ex As Exception 
        Label1.Text = "ERROR: " & ex.Message.ToString() 
       End Try 
      Else 
       Label1.Text = "Only Word Document files allowed (.doc, .docx)." 
      End If 
     Else 
      Label1.Text = "You have not specified a file." 
     End If 
     hasLabel = Label1.Text 
    End Sub 
</script> 

Позже вниз страницы, я хотел бы быть в состоянии проверить hasLabel для содержания, и если он не пустой , чем просто вывести это на страницу, иначе вывести форму еще раз:

<body> 
<form id="form1" runat="server"> 
<% If hasLabel <> "" Than %> 
    <div class="centertext"><%= hasLabel %></div> 
<% Else %> 
    <div> 
     <asp:FileUpload ID="FileUpload1" runat="server" class="file" /><br /> 
     <br /> 
     <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Upload File" />&nbsp;<br /> 
     <asp:Label ID="Label1" runat="server" class="mission_gothic_reg smalltext"></asp:Label> 
     </div> 
<% End If %> 
</form> 
</body> 

Как это сделать? Прямо сейчас, я получаю сообщение об ошибке: Name 'hasLabel' is not declared

В принципе, я пытаюсь произойти, это ... не показывать кнопку загрузки файла, если файл уже отправлен. Конечно, я, скорее всего, должен будет изменить это, только делая это, когда он был успешно загружен, и тип файла верен. Но я даже не могу найти простое решение, зная, было ли оно загружено правильно или нет на самой странице ASP. Да, я могу выводить текст, который манипулирует тегом, но как узнать, есть ли в нем тег метки, в ASP.NET?

ответ

0

Я установил это, изменив Visible свойство FALSE:

<script runat="server"> 
    Protected Sub Button1_Click(ByVal sender As Object, _ 
     ByVal e As System.EventArgs) 

     If FileUpload1.HasFile Then 
      Dim fileExt As String 
      fileExt = System.IO.Path.GetExtension(FileUpload1.FileName) 
      If (fileExt = ".docx" OR fileExt = ".doc") Then 
       Try 
        FileUpload1.SaveAs("FULL Upload File Path\" & _ 
         FileUpload1.FileName) 
        Label1.Text = "<div class='mission_gothic_reg success'>Statement Successfully Received, Thank You!<br />File name: " & _ 
         FileUpload1.PostedFile.FileName & "<br>" & _ 
         "File Size: " & _ 
         FileUpload1.PostedFile.ContentLength & " kb</div>" 
         Button1.Visible = FALSE 
         FileUpload1.Visible = FALSE 
       Catch ex As Exception 
        Label1.Text = "<div class='mission_gothic_reg fail'>ERROR: " & ex.Message.ToString() & "</div>" 
       End Try 
      Else 
       Label1.Text = "<div class='mission_gothic_reg fail'>Only Word Document files allowed (.doc, .docx).</div>" 
      End If 
     Else 
      Label1.Text = "<div class='mission_gothic_reg fail'>You have not specified a file.</div>" 
     End If 
    End Sub 
</script> 

Может быть, это поможет кому-то еще.

Смежные вопросы