お世話になっています。
ページを上下のフレームに分割、上は入力項目とSubmitボタン、
下は次ページの表示という画面構成です。

やりたいことはSubmitボタンを押して下に次ページを表示させつつ、
入力した値をキーにDB検索し、該当結果を上に再表示させることです。
aaa.aspのSubmitボタンひとつのクリックで
上フレームにbbb.asp、下フレームにccc.aspというページを同時に表示といった感じでしょうか。

このように1つのボタンで複数の動作をするのは可能なのでしょうか。

どなたかご存知の方、教えてください!

このQ&Aに関連する最新のQ&A

ASP とは」に関するQ&A: URLの.aspとは??

A 回答 (1件)

aaa.aspに


<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Location()
{
top.下フレームの名前.location.href = "ccc.asp";
}
//-->
</SCRIPT>
</HEAD>



<FORM ATCION="bbb.asp" OnSubmit="Location()">
という感じでJavaScruotを組み込めば、下フレームをジャンプさせた後に
bbb.aspを実行…という処理ができます。
もしbbb.asp実行後にccc.aspへジャンプさせたい場合は、
bbb.aspのBODYタグにonLoad="Location()"として、上のスクリプトを組み込めば良いです。
がんばってください。
    • good
    • 0
この回答へのお礼

できました!
なるほど、自分で関数を作ってしまうんですね(・・・?)。

action="bbb.asp" target="下フレーム"
onClick="window.open('bbb.asp','_self')"

と書いてごまかしてましたが、これよりずっと楽ですねぇ。
ソースもありがとうございました。

また機会がありましたら、これからもよろしくお願いします(ペコリ)。

お礼日時:2001/09/26 15:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QSUBMITボタンで値を渡す時、次のページのパラメータをAAA="BBB=1&CCC=1"みたいにするには?

普通、次のページに渡すパラメータは

test.asp?AAA=1

みたいな形だと思うのですが、

test.asp?AAA=BBB=1&CCC=1 みたいなことをしたいのです。

BBB=1&CCC=1 を AAA に格納したいのですが、

どうやればいいのでしょう?

Server.urlencode とかいうのがよく分かりません
どなたか意味と役割と使い方を教えて下さい。

Aベストアンサー

Response.Redirect "test.asp?AAA=" & _
Server.URLEncode("BBB=1&CCC=1")

test.asp 側では Request.QueryString("AAA") を参照すれば
BBB=1&CCC=1 が入っています

Q上下に別れたフレームで下のフレームから上のフレームの値を参照するには?

上のフレームのテキストボックスの値を
下のフレームで参照するにはどう指定したら
よいのでしょうか?

Aベストアンサー

#1で回答したものです。

上のフレーム名を"top"としているのでしょうか?
もしそうでしたら他の名前にすれば解決するはずです。

"top"はフレーム構成における最上位のobjectという意味の予約語ですので、任意に使うことはできないと思います。

Q【ASP.NET】マスターページに配置されたボタンのイベントを拾いたい

※こちらの派生です。
http://oshiete1.goo.ne.jp/qa5222698.html

マスターページに配置したボタンのクリックイベントを
コンテンツページ(?マスターページを使用するページ)で
拾うことは可能でしょうか?

もしくは、マスターページに配置したボタンのクリックイベントの処理を
コンテンツページで実装することは可能でしょうか?

ボタンの配置は同じだけれど、メソッドの中の処理は
コンテンツページ毎に分けたいのです。


例えばマスターページ「hoge」とコンテンツページ「moge」があったとすると
以下のような感じです…。

---------------------------------------------------------------------------
==============
hoge.Master
==============
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="hoge.master.cs" Inherits="xxx.hoge" %>

<asp:Content ID="Content3" ContentPlaceHolderID="FooterContentPlaceHolder" runat="server">
<asp:Button ID="btn" runat="server" Text="ぼたん" onclick="btn_Click" />
</asp:Content>

==============
hoge.Master.cs
==============
protected void btn_Click(object sender, EventArgs e)
{
// ここではなく
}

==============
moge.aspx
==============
<%@ Page Language="C#" MasterPageFile="~/hoge.Master" AutoEventWireup="true" CodeBehind="moge.aspx.cs" Inherits="xxx.moge" Title="もげ" %>

==============
moge.aspx.cs
==============
protected void btn_Click(object sender, EventArgs e)
{
// ここにボタンが押された際の処理を実装したい
}
---------------------------------------------------------------------------

よろしくお願い致します。

※こちらの派生です。
http://oshiete1.goo.ne.jp/qa5222698.html

マスターページに配置したボタンのクリックイベントを
コンテンツページ(?マスターページを使用するページ)で
拾うことは可能でしょうか?

もしくは、マスターページに配置したボタンのクリックイベントの処理を
コンテンツページで実装することは可能でしょうか?

ボタンの配置は同じだけれど、メソッドの中の処理は
コンテンツページ毎に分けたいのです。


例えばマスターページ「hoge」とコンテンツページ「moge」があったと...続きを読む

Aベストアンサー

質問内容が間違っていると指摘しましたが、恐らく下記のようなことをやりたいんじゃないかと思い、推測で答えを書いてみました。
ご確認ください。

==============
hoge.Master
==============
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="hoge.master.cs" Inherits="MasterPage" %>

<asp:contentplaceholder id="FooterContentPlaceHolder" runat="server">
<%-- ここにaspxのコンテンツをaspxファイルで配置してもらう --%>
</asp:contentplaceholder>

<%-- MasterPage に配置したボタン--%>
<asp:Button ID="btn" runat="server" Text="ぼたん" />

==============
hoge.Master.cs
==============
public partial class MasterPage : System.Web.UI.MasterPage
{
  // aspx側に公開するボタンのクリックイベント
  public EventHandler btnClick_PageHandler;

  // MasterPage表示時
  protected void Page_Load(object sender, EventArgs e)
  {
    // aspx側で処理するボタンのクリックイベントが設定されていたら
    if (btnClick_PageHandler != null)
    {
      // aspx側で定義したボタンクリックイベントを設定する
      btn.Click += btnClick_PageHandler;
    }
  }
}

==============
moge.aspx
==============
<%@ Page Language="C#" MasterPageFile="~/hoge.Master" AutoEventWireup="true" CodeBehind="moge.aspx.cs" Inherits="xxx.moge" Title="もげ" %>

==============
moge.aspx.cs
==============
protected void Page_Init(object sender, EventArgs e)
{
  // MasterPageのインスタンスを取得する
  ASP.hoge_master m = (ASP.hoge_master)this.Master;

  // MasterPageにあるボタンにクリックイベントを付与する
  m.btnClick_PageHandler += new EventHandler(this.MasterPageButton_Click);
}

private void MasterPageButton_Click(object sender, EventArgs e)
{
  // ここにMasterPageで定義したボタンのクリックイベントを実装する
}

もし、質問したかった内容と回答内容が違うようであれば、もう一度、情報を整理してご質問頂けるとた有難いです。
宜しくお願いします。

質問内容が間違っていると指摘しましたが、恐らく下記のようなことをやりたいんじゃないかと思い、推測で答えを書いてみました。
ご確認ください。

==============
hoge.Master
==============
<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="hoge.master.cs" Inherits="MasterPage" %>

<asp:contentplaceholder id="FooterContentPlaceHolder" runat="server">
<%-- ここにaspxのコンテンツをaspxファイルで配置してもらう --%>
</asp:contentplaceholder>

<%-- MasterPage に...続きを読む

QASP.NETでプレーンなページに文字を表示する方法

ASP.NET初心者で、わかりにくい箇所があるかもしれませんがよろしくお願いします。

例えばindex.aspxというページがあり、そこに以下の様なlabelコントロールがあるとします。
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
この場合は、Label1.Text="表示したい文字"でページに任意の文字を表示されることが出来ます。

そこで質問なのですが、コントロールを使わずにページに文字列を表示する事はできないのでしょうか?
ソースを見た時に、出力された文字列以外の文字が含まれていない方法を探しています。

Aベストアンサー

テキスト自体はサーバー側のプログラムで出力したいのですよね?
そうじゃなければ Web フォームのページに HTML タグを使ってガシガシ書くだけです。

Web フォームの Label コントロールは実行時に span タグとして出力されるのですが、タグを使わずに出力したい場合は Literal コントロールを使います。
Literal コントロールは単に文字だけを出力しますのでスタイル等を装飾したい場合は Literal コントロールを囲む親要素のタグで装飾をしてください。

◆ ソースコード
<div>
  あいうえお
</div>
<div>
  <asp:Label ID="Label1" runat="server" Text="かきくけこ"></asp:Label>
</div>
<div>
  <asp:Literal ID="Literal1" runat="server" Text="さしすせそ"></asp:Literal>
</div>

◆ 実行結果
<div>
  あいうえお
</div>
<div>
  <span id="Label1">かきくけこ</span>
</div>
<div>
  さしすせそ
</div>

テキスト自体はサーバー側のプログラムで出力したいのですよね?
そうじゃなければ Web フォームのページに HTML タグを使ってガシガシ書くだけです。

Web フォームの Label コントロールは実行時に span タグとして出力されるのですが、タグを使わずに出力したい場合は Literal コントロールを使います。
Literal コントロールは単に文字だけを出力しますのでスタイル等を装飾したい場合は Literal コントロールを囲む親要素のタグで装飾をしてください。

◆ ソースコード
<div>
  あいうえお
</div>
<div>
 ...続きを読む

Qaspのページが表示できません

windows 2003 server上に
IIS6.0にて仮想ディレクトリを作成し、HTMLファイルは
動くのですが、なぜかASPファイルを表示
しようとすると、ページを表示できませんとなります。

仮想ディレクトリタブの実行アクセス許可は、スクリプト及び実行可能ファイルにして、ドキュメントタブの既定のコンテンツページを有効にチェックを入れ、index.aspを追加し、頭に置いてあります。
aspはマッピングしてあります。

Win2000で試したところ問題なく表示できます。

また、外部との接続はしていません。イントラネットのみです。(前の担当者が設定)初心者なもので全くわかりません。
どなたかご教授お願いいたします。

Aベストアンサー

インターネット インフォメーション サービス (IIS) マネージャ → マシン名(ローカル)→ Webサービス拡張 において、
Active Server Pagesの状態が“許可”になっていますでしょうか?
なっていない場合、Active Server Pagesを右クリックして許可するか、Active Server Pagesを選択した状態で、許可ボタンを押下してください。

Windows2000で問題なく動く、仮想ディレクトリタブの実行アクセス許可が問題ないのなら、恐らくこの設定を行えばOKだと思います。


一応、Windows2003インストール後のIISの設定手順を付け加えておきますね(^^)


・[スタート]-[設定]-[コントロールパネル]-[管理ツール]-
 [インターネット インフォメーション サービス (IIS) マネージャ]を起動 する。
・仮想ディレクトリを追加するWebサイト(ここでは[既定のWebサイト])を右クリックし、
 表示されたポップアップメニューから[新規作成]-[仮想ディレクトリ(V)]を選択する。
・「仮想ディレクトリの作成ウィザード」が起動後、「次へ」ボタンを押下する。
・[エイリアス(A)]に仮想ディレクトリとして呼び出す名前(ここでは「sample」)を入力し、「次へ」ボタンを押下する。
・公開したい物理フォルダのパスを指定する(ここでは「C:\sample」とする)。
・[読み取り(R)] および ASP等のスクリプトを実行する(S)] のみ権限を付与し、「次へ」ボタンを押下する。
・仮想ディレクトリの作成ウィザードが正常に完了後、「完了」ボタンを押下する。
・追加したWebサイト(ここでは[既定のWebサイト])の中に
 さきほど追加した仮想ディレクトリが存在するか確認する。
・Windows2000Serverの場合、以下の設定は必要ない。
・Windows2003Serverの場合、[Web サービス拡張]から[ActiveServerPages]を選択し、
 「許可」ボタンを押下する。
・「http://localhost/sample/ファイル名.asp」にアクセスすることで、画面が表示される。

※フォルダ名等はあくまで一例です。

インターネット インフォメーション サービス (IIS) マネージャ → マシン名(ローカル)→ Webサービス拡張 において、
Active Server Pagesの状態が“許可”になっていますでしょうか?
なっていない場合、Active Server Pagesを右クリックして許可するか、Active Server Pagesを選択した状態で、許可ボタンを押下してください。

Windows2000で問題なく動く、仮想ディレクトリタブの実行アクセス許可が問題ないのなら、恐らくこの設定を行えばOKだと思います。


一応、Windows2003インストール後のIISの設...続きを読む


おすすめ情報