- 題名: 1 つのページには、1 つのサーバー側 Form タグのみを指定できます。
- 日時: 2010/10/27 13:59:09
- ID: 27487
- この記事の返信元:
- (なし)
- この記事への返信:
- [27491] Re[1]: 1 つのページには、1 つのサーバー側 Form タグのみを指定できます。2010/10/27 21:31:55
- ツリーを表示
2010/10/27(Wed) 21:33:37 編集(投稿者)
■No27487に返信(はちまきさんの記事)
> 環境/言語:[ASPX VB.NET2005 SQL- Server]
フレームワークの名称としましては ASP.NET が、正しいです。
aspx は、ASP.NET で利用される WebForm の、拡張子ですね。
> メッセージ表示のタイトル部には■の文言が表示されてます。
> ■HttpExceptionはユーザによってハンドルされませんでした。
■というのは、掲示板におけるトピックのタイトルでしょうか。
「1 つのページには、1 つのサーバー側 Form タグのみを指定できます。」
というメッセージですか?
> ※<Form>タグは上記の一か所しか使用していないにも
> 関わらずエラーが発生します。
<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server">
Content コントロールを使用されているところをみますと、マスターページを利用
していらっしゃいますか?
たとえば、マスターページに form タグが記述されている場合。
コンテンツページに form タグを記述しますと、form タグを2重に記述している
ことになります。
下記のコードをどちらに記述していらっしゃるのか、お教えいただけると、より明確
にわかるかと思います。
<%If payMent.Value = "2" Then%>
<asp:Button ID="btnX" PostBackUrl="遷移先1.aspx"/>
<%Else%>
<asp:Button ID="btnX" PostBackUrl="遷移先2.aspx"/>
<%End If%>
<form id="frmOrderView" runat="server">
<asp:HiddenField ID="Id" runat="server" Value='<%#order_id.Text%>'/>
<asp:Button ID="btnId" runat="server" PostBackUrl="~/次画面.aspx"/>
</form>
> Content 内に記述すると NG となるタグやコードなど御座いますでしょうか。
コンテンツページの Content コントロールは、マスターページの
ContentPlaceHolder コントロールと置き換えられる形で、マスターページと結合
され、出力されます。
たとえば、以下のようなコードにおきまして。
Content 内に head タグや body タグを記述しますと、構造的に正しくない
html が出力されます。
マスターページ
[Site1.Master]
<%@ Master Language="VB" AutoEventWireup="false" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
</body>
</html>
コンテンツページ
[WebForm1.aspx]
<%@ Page Title="" Language="vb" AutoEventWireup="false" MasterPageFile="~/Site1.Master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
</asp:Content>
分類:[ASP.NET]
今回ご教示頂き内容になります。
・ASPX.Net & VB.Net2005になります。
エラー内容の解釈
・ASPXになって複数のFormタグを使用する事が出来ず、
ビルドは正常終了するが、実行に件名のエラーが表示されている状況です。
コーディング
・XXXX.aspx内部に
<form id="frmOrderView" runat="server">
<asp:HiddenField ID="Id" runat="server" Value='<%#order_id.Text%>'/>
<asp:Button ID="btnId" runat="server" PostBackUrl="~/次画面.aspx"/>
</form>
※<Form>タグは上記の一か所しか使用していないにも
関わらずエラーが発生します。
エラー箇所は上記の<Form>タグの箇所でなく、
下記の<%End If%>の箇所を指しています。
メッセージ表示のタイトル部には■の文言が表示されてます。
■HttpExceptionはユーザによってハンドルされませんでした。
<%If payMent.Value = "2" Then%>
<asp:Button ID="btnX" PostBackUrl="遷移先1.aspx"/>
<%Else%>
<asp:Button ID="btnX" PostBackUrl="遷移先2.aspx"/>
<%End If%>
実現させた事
・各ボタンクリック時に10弱の画面情報を<asp:HiddenField>タグのValueに設定し
次画面に渡し、次画面では表示情報、Select条件に設定する。
・ページ全体に設定させたい場合
<form>タグ開始、終了を記述する箇所は、
<asp:Content ID="Content2" ContentPlaceHolderID="body" Runat="Server">
<form>タグ開始
…
…
</form>タグ終了
</asp:Content> のような感じになると思いますが、
Content内に記述するとNGとなるタグたコードなど御座いますでしょうか。
以上になります。
ご教示並びにアドバイスをお願いいたします。