在编写asp.net代码时,它显示错误

时间:2011-01-25 11:28:42

标签: 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

3 个答案:

答案 0 :(得分:1)

错误的原因是您在服务器端元素(asp:按钮)上放置了“onclick”属性。在此上下文中,onclick指的是单击按钮时要采取的服务器端操作。但是因为你命名的函数在服务器代码中不存在,所以它失败了。

鉴于你有一个javascript函数,我认为这是你想要调用的。在这种情况下,您应该使用onClientClick属性。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.onclientclick.aspx有关于此的信息,并阅读这些信息可以让您更好地理解这一主题。

答案 1 :(得分:0)

错误消息显示您的aspx代码页中未定义“ doc_save()”。您必须将**<asp:button>**转换为html **<input>**控件,然后删除标记“ runat = server ”或在当前控件上使用 OnClientClick ,如下所示其他答案。

答案 2 :(得分:0)

Button应该调用javascript函数吗?如果是这样,您需要设置onClientClick