2011-01-25 45 views
0

我想做一個程序來上傳文件在一個頁面,並希望導航到另一個頁面與該文件的名稱。我寫這樣的代碼雖然寫了asp.net代碼,它顯示錯誤

<%@ Page Title="Home Page" Language="VB" %> 
<html> 
<head> 
    <style type="text/css"> 
     .style1 
     { 
      width: 100%; 
     } 
     .style3 
     { 
      width: 185px; 
     } 
     .style4 
     { 
      width: 129px; 
     } 
    </style> 
    <script language="javascript"> 
     function doc_save() { 
      document.forms[0].submit; 
      action = "mynew_page.aspx"; 
     } 
     doc_save(); 
    </script> 
    <script language ="vbscript " runat ="server" > 
     Public Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
      Call save_click() 
     End Sub 

     Public Sub save_click() 
      Response.Write("Saving...") 
     End Sub 
     </script> 
</head> 
<body> 
<form id="form1" runat="server"> 
<table class="style1"> 
    <tr> 
     <td class="style4"> 
      <asp:Button ID="back" runat="server" Text="Back" /> 
     </td> 
     <td class="style3"> 
      <asp:Button ID="save" runat="server" Text="Save" onClick="doc_save()" /> 
     </td> 
    </tr> 
    <tr> 
     <td class="style4"> 
      <asp:Label ID="Label1" runat="server" Text="File Name"></asp:Label> 
     </td> 
     <td class="style3"> 
      <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> 
     </td> 
    </tr> 
    <tr> 
     <td class="style4"> 
      <asp:Label ID="Label2" runat="server" Text="Description"></asp:Label> 
     </td> 
     <td class="style3"> 
      <textarea id="txtarea" name="txtarea" runat ="server" ></textarea></td> 
    </tr> 
    <tr> 
     <td class="style4"> 
      <asp:Label ID="Label3" runat="server" Text="File Upload"></asp:Label> 
     </td> 
     <td class="style3"> 
      <asp:FileUpload ID="FileUpload1" runat="server" Width="330px" /> 
     </td> 
    </tr> 
</table> 
</form> 
</body> 
</html> 

當我運行該程序它顯示像下面的錯誤。 當然這個代碼還沒有完成,請你幫忙完成這個。 enter image description here

回答

1

錯誤的原因是您要在服務器端元素(asp:按鈕)上放置「onclick」屬性。在這種情況下,onclick指的是點擊按鈕時服務器端採取的動作。但是因爲你命名的函數在服務器代碼中不存在,所以它失敗了。

鑑於你有一個JavaScript函數,我認爲這是你想要調用。在這種情況下,您應該使用onClientClick屬性。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx有這方面的信息和周圍閱讀,應該讓你更好地瞭解這個問題。

0

錯誤消息說你沒有「doc_save()」在你的aspx頁面的代碼定義。您必須將**<asp:button>**轉換爲html **<input>**控件,然後刪除標籤「runat = server」或使用OnClientClick關於當前控件,如其他答案中給出的。

+0

刪除`runat =「server」`將無濟於事,因爲它是'`。你可以將它轉換爲一個標準的html按鈕(即`

0

Button應該調用javascript函數嗎?如果是這樣,您需要設置onClientClick