我遇到了这个问题,我需要在表单标记中插入一个表单标记。我的母版页包含我的HTML代码,其中包含表单标签,我有一个ContentPlaceHolder: 这是我的HTML页面:
<html>
<header>
//my code here.
</header>
<body>
<form>
<asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server"></asp:ContentPlaceHolder>
</form>
</body>
<html>
现在我想在我的page.aspx中做这样的事情: page.aspx
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server" defaultfocus="Submit">
<form id="form1" runat="server">
<div>
//my code here
</div>
</form>
</asp:Content>
我得到的错误: 页面只能有一个服务器端表单标记。
经过大量的阅读和研究后,我发现这是不可能的,但我还没有看到什么是解决方案,请指出一种方法/方法来解决这个问题。感谢您阅读我的问题。
这是我现在在page.aspx中的代码,但我的回发无效:
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server" defaultfocus="Submit">
<div>
<span style ="font-family:Arial">Select Country : </span>
<asp:DropDownList ID="ddlCountry" runat="server" Enabled = "true" AutoPostBack = "true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">
<asp:ListItem Text = "--Select Country--" Value = ""></asp:ListItem>
</asp:DropDownList>
<br /><br />
</div>
</asp:Content>
SAM, 我把它添加到page.aspx:
<asp:DropDownList ID="DropDownList1" runat="server" Enabled = "true" AutoPostBack = "true" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem Text = "--Select Country--" Value = "0"></asp:ListItem>
<asp:ListItem Text = "Sri Lanka" Value = "1"></asp:ListItem>
</asp:DropDownList>
在我的c#文件中,我有:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
label1.Text = "you selected Sri Lanka";
}
当我选择斯里兰卡时,没有任何事情发生。
答案 0 :(得分:0)
您不能在另一个服务器端form
内拥有服务器端form
。您应该从MasterPage
继承您的网页,然后使用ContentPlaceHolder
来保存您的网页特定控件。
E.g。你的page.aspx看起来应该是这样的
<%@ Page Title="My Page" Language="C#" MasterPageFile="~/MySite.Master" AutoEventWireup="true" CodeBehind="Page.aspx.cs" Inherits="Test._Page" %>
<asp:Content runat="server" ID="MyContent" ContentPlaceHolderID="MyContent">
<%-- Your controls --%>
</asp:Content>
如果您需要进行部分更新,请使用UpdatePanel
<强>更新强>
您必须添加多个项才能触发DropDownList控件的OnSelectedIndexChanged
事件
E.g。
<asp:DropDownList ID="ddlCountry" runat="server" Enabled = "true" AutoPostBack = "true" OnSelectedIndexChanged="ddlCountry_SelectedIndexChanged">
<asp:ListItem Text = "--Select Country--" Value = "0"></asp:ListItem>
<asp:ListItem Text = "Sri Lanka" Value = "1"></asp:ListItem>
</asp:DropDownList>