2009-08-28 50 views
5

Tôi đã có trang chính với biểu mẫu (runat = "server"). Tuy nhiên trong trang lồng nhau, tôi có 2 hình thức. Đầu tiên là để thay đổi mật khẩu và thứ hai là để gửi dữ liệu người dùng ... Cả hai đều phải tồn tại, với các nút gửi riêng biệt.Trang chính và các mẫu biểu mẫu lồng nhau

Tôi đã cố gắng đính kèm các trường thích hợp với các thẻ biểu mẫu, nhưng tôi gặp phải lỗi mà các biểu mẫu đính kèm không được phép .... Làm cách nào để đạt được mục tiêu của mình?

Cảm ơn!

Trả lời

4

ASP.NET chỉ hỗ trợ một biểu mẫu trên mỗi trang (nó mô phỏng biểu mẫu trên máy tính để bàn). Có lẽ những gì bạn cần là để lại các hình thức trong trang chủ và có 2 bấm xử lý cho các nút trên trang nội dung. Bạn cũng có thể cần phải xác định ValidationGroup cho các nút điều khiển và các nút của bạn để chúng không can thiệp nếu bạn có một số trình duyệt tính hợp lệ.

0

Bạn chỉ có thể có một thẻ < biểu mẫu> trong trang ASPX. Khi bạn đang sử dụng trang chính, nó đã có một thẻ mẫu runat = "server"> <. Bạn không thể sử dụng lại < biểu mẫu> thẻ trong các trang lồng nhau của mình. Những gì bạn có thể làm là thêm nội dung của bạn trên trang lồng nhau trong thẻ này. < asp: Content ID = "content1" ContentPlaceHolderID = "ContentPlaceHolder1" runat = "server"> </asp: Content>

0

Bạn có thể có nhiều hình thức trên một trang webforms, nhưng chỉ có 1 thể có runat- "máy chủ' thuộc tính và runat = 'server' hình thức không thể có bất cứ hình thức lồng nhau Một lựa chọn mà có thể làm việc cho bạn.

<html xmlns="http://www.w3.org/1999/xhtml" > 
<head runat="server"> 
    <title>Untitled</title> 
</head> 
<body> 
    <div id="header> 
     <h1>My Site</h1> 
     <form id="SearchForm" action="search.aspx" method="post"> 
      <!--your search form html inputs (on server controls)--> 
     </form> 
    </div> 

    <!-- the standard webforms form used for server controls etc--> 
    <form id="form1" runat="server"> 

      <asp:ContentPlaceHolder ID="SearchBody" runat="server"> 
      </asp:ContentPlaceHolder> 

    </form> 
</body> 
</html> 

bạn cũng có thể nhìn vào techinique PostBackURL:

http://msdn.microsoft.com/en-us/library/ms178140.aspx

0

Chỉ cần thêm <form runat="server"> vào đầu trang chính của bạn sau khi thẻ <body> và bên trong đặt số <asp:content></asp:content> của bạn.

Ví dụ: MyMasterPage.master trang

<% master ... %> 
<html> 
<head> .... </head> 
<body> 
<form runat="server"> 
. 
. 
. 
<div> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 

</asp:Content> 
</div> 
. 
. 
. 
</form> 
</body> 
</html> 

nester Page: MyPage.cs

<% page ... %> 
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 
    <asp:Button ID="testButton" runat="server" Text="Sample Button" Width="135px" /> 
</asp:Content> 

Bằng cách này bạn có thể giải quyết vấn đề của bạn

1

Như bạn đã hình thành trong trang chủ, bạn sẽ không có thể thêm bất kỳ biểu mẫu nào trong trang lồng nhau, chỉ có thể có một thẻ biểu mẫu trên mỗi trang,

thay vì tạo hai biểu mẫu khác nhau trong trang lồng nhau, bạn không thể tạo riêng biệt hai div khác nhau, bảng, v.v.

bạn buộc phải thực hiện biểu mẫu nào trong trang lồng nhau

Các vấn đề liên quan