2014-10-03 65 views
0

我遇到了這個問題,我需要在表單標籤內插入表單標籤。我的母版頁有我的HTML代碼,其中包含表單標籤內,我有一個的ContentPlaceHolder: 這是我的HTML頁面:表單標籤內的ASP.Net表單標籤

<html> 
    <header> 
    //my code here. 
    </header> 

    <body> 
    <form> 
     <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server"></asp:ContentPlaceHolder> 
    </form> 
    </body> 
<html> 

我現在想要做這樣的事情在我page.aspx: 頁。 ASPX

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder2" runat="Server" defaultfocus="Submit"> 

    <form id="form1" runat="server"> 
    <div> 
     //my code here 
    </div> 
    </form> 

</asp:Content> 

錯誤我得到: 一頁只能有一個服務器端Form標記。

經過大量的閱讀和研究,我發現這是不可能的,但我還沒有讀過什麼是解決方案,請告知一種方法/方法來解決這個問題。感謝您閱讀我的問題。

這是我的代碼現在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"; 
} 

當我選擇斯里蘭卡時,什麼也沒有發生。

+1

請問爲什麼你需要*在頁面和主頁面中插入表格標籤?它只是作爲一個容器,還是有其他原因? – sh1rts 2014-10-03 04:43:49

+0

它只是一個容器。 – user3345212 2014-10-03 04:52:53

+0

如果您需要每頁使用表單,請不要使用Masterpages和ContentPages。只需使用Web窗體(將項目添加到項目時可用) – Sam 2014-10-03 05:03:10

回答

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

UPDATE

您必須添加超過10項觸發OnSelectedIndexChanged事件的DropDownList控件

Eg

<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> 
+0

它不工作,但謝謝你嘗試。 – user3345212 2014-10-03 05:31:43

+0

請找到我的新更新。謝謝! – user3345212 2014-10-03 05:34:50