我正在尝试执行一个程序来在一个页面中上传文档,并希望导航到具有该文档名称的另一个页面。我写了这样的代码
<%@ 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>
当我运行程序时,它显示如下错误。 当然这段代码还没有完成,请你帮忙完成这个。
答案 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