Masterpage.aspx
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
<script src='http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'>
</script>
<script src="Chrome.js" type="text/javascript"></script>
</head>
<body>
<form id="Master" runat="server">
<table style="width:987px; margin:auto; height: 86px;">
<tr style="background-color:#FFFFFF">
<td class="style2">
<img src="images/logo.jpg" alt="" width="235" height="73" />
</td>
<td style="vertical-align:middle;"class="style1">
<div style="float:right; width:153px; height: 22px;">
<asp:TextBox ID="TextBox1" runat="server" Height="20px"
style="margin-left: 0px" Width="140px">
</asp:TextBox>
</div>
<a href="">Forget Password?</a> </span></span>
</td>
<td class="style33">
<div style="float:right; width:157px; height: 20px; margin-right: 1px;">
<asp:TextBox ID="TextBox2" runat="server" Height="20px"
style="margin-left: 0px; margin-top:
Width="147px"></asp:TextBox>
</div>
<a href="Registration.aspx">New User Registration</a> </span>
</td>
<td class="style40">
<div style="height: 67px; width: 81px;">
 <asp:Button ID="btnlogin" runat="server" style="color:White; background-color:#404040;font-family:Verdana;font-size:10pt; height: 29px; margin-top: 12px;" Text="Login" onclick="btnlogin_Click1" /></div>
</td>
</tr>
</table>
</td>
</tr>
<tr style="background-color:#207DA8">
<td class="style39">
</td>
<td class="style39">
</td>
</tr>
<script type="text/javascript">
cssdropdown.startchrome("chromemenu")
</script>
</td>
</tr>
<img alt="" src="images/rgt.jpg" style="width: 471px; height: 247px" />
</td>
</tr>
<tr style="vertical-align=top;background-color=#D4D3D9">
<td style="height:1;">
</td>
</tr>
</tbody>
</table>
</tbody>
</table>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</form>
</body>
</html>
RegisterPage.aspx
<%@ Page Language="C#" MasterPageFile="~/MasterPage.Master" AutoEventWireup="true" CodeBehind="Registration.aspx.cs" ValidateRequest="false" Inherits="Paragraphreader.Registration" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<script src="jquery.validate.js" type="text/javascript"></script>
<script src="jquery.validation.js" type="text/javascript"></script>
<script>
$("#Register").submit(function () {
return $(this).validation();
alert("submitted");
});
</script>
<script>
function validate() {
var a = 0, rdbtn = document.getElementsByName("gender");
for (i = 0; i < rdbtn.length; i++) {
if (rdbtn.item(i).checked == false) {
a++;
}
}
if (a == rdbtn.length) {
document.getElementById("RadioButtonList1").style.border = "2px solid red";
return false;
} else {
document.getElementById("RadioButtonList1").style.border = "";
return true;
}
}
</script>
<link href="Career.css" rel="stylesheet" type="text/css" />
<link href="Chrome.css" rel="stylesheet" type="text/css" />
<link href="Styles.css" rel="stylesheet" type="text/css" />
<form id="Register" runat="server">//A page can have only one form tag
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="FormUpdatePanel" runat="server">
<ContentTemplate>
我收到错误(编译RegisterPage.aspx时页面只能有一个服务器端cof。在主页面中我有一个表单标签和服务器端代码 在Register页面中,我有一个表单标签和服务器端代码。以避免此错误
答案 0 :(得分:6)
母版页通常不应包含form
标记,因为它们仅用作内容页面的基本布局。从主页面中删除form
标记,错误将消失。
如果您想为所有网页定义一个通用的“登录”部分(这似乎是您的意图),您可以创建一个UserControl
来执行此操作。然后,您将在主页面中定义一个部分以包含此用户控件,以确保Login UserControl的ContentPlaceHolder始终最终包含在内容页面的form
内。这样,当您提交表单时,会触发btnlogin_Click1
点击事件。
总之:以每页有一个form
标记的方式重新排列页面,因为ASP.NET不允许有多个并尝试在内容页面中定义表单而不是主页。