- PR -

ページ遷移(フレーム)

1
投稿者投稿内容
araariaru
会議室デビュー日: 2005/01/20
投稿数: 14
投稿日時: 2005-01-20 17:52
WebMatrixで構築しています。
Indexというフフォームを作成しました。このフォームは3つのフレームで構成されています。

***Index.htm***
<html>
<head>
</head>
<frameset framespacing="0" rows="10%,*" frameborder="yes">
<frame name="choice" src="Title.htm" noresize="noresize" />
<frameset framespacing="0" frameborder="yes" cols=*,80%>
<frame name="view1" src="MainMenu.aspx" noresize="noresize" />
<frame name="view2" src="" noresize="noresize" />
</frameset>
</frameset>
</html>

この時点でview2には何も表示しません。view1フレームに表示した"MainMenu.aspx"のHyperLinkコントロールのNavigateUrlで"MasterPassword.aspx"をview2に表示します。
この"MasterPassword.aspx"では、パスワード認証をしており一致したらMasterMenu.aspx"をview1に表示させようとしています。

***MasterPassword.aspx***
Sub LoginBtn_Click(Sender As Object, E As EventArgs)

If Page.IsValid Then
Dim userDS As New System.Data.DataSet

userDS = GetMasterPassword(UserPass.Text)
If userDS.Tables(0).Rows.Count = 1 Then
Server.Transfer("MasterMenu.aspx")
Else
Msg.Text = "パスワードが不正です。もう一度入力してください。"
End If
End If

End Sub

とあるサイトで調べたところ遷移するページの<form runat="server">を<form target="view1" runat="server">にすればよいとあったので、そのとおり記述したのですが、view2に表示されてしまいます。

****MasterMenu.aspx****
<html>
<head>
</head>
<body>
<form target="view1" runat="server">
</form>
</body>
</html>

どうすれば、ページ遷移(フレーム)が行えるのか、ご指導お願いします。
べる
ぬし
会議室デビュー日: 2003/09/20
投稿数: 1093
投稿日時: 2005-01-20 21:59
とりあえず、現象が再現する最小のモデルを提示すべきでしょう。
引用:
If Page.IsValid Then
Dim userDS As New System.Data.DataSet

userDS = GetMasterPassword(UserPass.Text)
If userDS.Tables(0).Rows.Count = 1 Then
Server.Transfer("MasterMenu.aspx")
Else
Msg.Text = "パスワードが不正です。もう一度入力してください。"
End If
End If

End Sub

このあたり、どんなことをしてるかわかりませんが、認証に成功した場合の話です
よね?というかここら辺は現象の原因ではなさそうということでOKですよね?

引用:
とあるサイトで調べたところ遷移するページの<form runat="server">を<form target="view1" runat="server">にすればよいとあったので、そのとおり記述したのですが、view2に表示されてしまいます。

form内のボタンを押すことがどういうことか、や、targetがどういう働きをするのか
を理解してください。レスポンスを受け取るframeを、リクエストする元のformの
targetで指定するのです。だから、
引用:
MasterMenu.aspx"をview1に表示させようとしています。

なら、MasterPassword.aspxでtargetをview1にすればよいでしょう。(多分)
araariaru
会議室デビュー日: 2005/01/20
投稿数: 14
投稿日時: 2005-01-21 08:55
べる様、回答ありがとうございます。

>form内のボタンを押すことがどういうことか、や、targetがどういう働きをするのか
>を理解してください。レスポンスを受け取るframeを、リクエストする元のformの
>targetで指定するのです。
おっしゃるとおりですね。もう少し基礎から勉強したいと思います。

>MasterPassword.aspxでtargetをview1にすればよいでしょう。(多分)
無事表示されました。
targetの役割をきちんと理解していれば簡単だったんですね。
本当に助かりました。

また何かありましたら、ご指導をお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)