• 締切済み

【ASP.net】リンク押下時に次のページに値を渡したい

【ASP.net】リンク押下時に次のページに値を渡したい [開発環境] Visual Studio2005 [開発言語] ASP.NET / VB2005 / .netFw3.5 [質問内容] ・いつもお世話になります。m(__)m  コードビハインドでWebサイトを作成しているのですが、 [test.aspx] <mobile:Link ID="Test1" Runat="server" Alignment="Left" NavigateUrl="遷移先のフォーム" >Link</mobile:Link> <mobile:Link ID="Test2" Runat="server" Alignment="Left" NavigateUrl="遷移先のフォーム" >Link</mobile:Link> [test.vb]  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load dim moji1 as string moji1 = "テスト中"  end sub [test.aspx]のリンクボタン(ID="Test1")を押下した時、"遷移先のフォーム"に[test.vb]の「moji1」の値を渡すにはどうすれば良いのでしょうか? わかる方いらっしゃいましたら、ご教授お願いしますm( _ _)m

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.1

session変数に入れとくか、ViewStateとして保持するようにすれば良いのでは。

関連するQ&A

  • ASP.NET2.0 にてリンクボタン押下時(別フォーム)

    いつもお世話になります。 長田と申します。 ASP.NET2.0 VB.NETにて開発を行っています。 リンクボタン押下時にaspxファイルを別画面にて表示させたいのですが、ロジック的にどのように記述すれば宜しいでしょうか? お分かりになる方いらっしゃいましたらご教授頂きたく思っております。 どうぞ宜しくお願い致します。

  • FormView から別画面でカレンダーを開き、値を前の画面に戻したい

    以下の環境で開発を行っております。 Windows XP(Professional) Visual Web Developer 2008 Express Edition Internet Explorer 8 【質問】 FormView ではなくて Form から別画面でカレンダーを開き値を戻す事はできたのですが、FormView を使った画面からデータを戻すことができず、エラーがでてしまいます。構文が間違っているのでしょうか? 【test.aspx】 <html> <head> <title>日付テスト</title> <script language="javascript" type="text/javascript"> function calendarPicker(strField) { window.open('DatePicker.aspx?field=' + strField, 'calendarPopup', 'width=250,height=220,resizable=yes'); } </script> </head> <body> <form id="Form1" method="post" runat="server"> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStrings %>"> </asp:SqlDataSource> <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1"> <ItemTemplate> 日付:<asp:TextBox ID="TextBox" runat="server" style="text-align: center"></asp:TextBox> <a href="javascript:;" onclick="calendarPicker('Form1.FormView1.TextBox');">▼</a><br /> </ItemTemplate> </asp:FormView> </form> </body> </html> 【DatePicker.aspx.vb】 Private Sub Calendar1_DayRender(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DayRenderEventArgs) Handles Calendar1.DayRender e.Cell.Controls.Clear() Dim Link As System.Web.UI.HtmlControls.HtmlGenericControl Link = New System.Web.UI.HtmlControls.HtmlGenericControl Link.TagName = "a" Link.InnerText = e.Day.DayNumberText Link.Attributes.Add("href", String.Format("JavaScript:window.opener.document.{0}.value = '{1:d}'; window.close();", Request.QueryString("field"), e.Day.Date)) If e.Day.IsSelected Then Link.Attributes.Add("style",Me.Calendar1.SelectedDayStyle.ToString()) End If e.Cell.Controls.Add(Link) End Sub

  • Excelマクロを引数付で起動

    VB.NET2002を使用しています。 VBよりEXCELマクロを実行できるとこまでは出来たのですが、 excel.Application.Run("Module1!test") VBで処理した値をExcelに渡すことはできないのでしょうか? Run("マクロ名",引数1,引数2,・・・)のように宣言すれば良さそうなのですが、 型のエラーが出てしまいます。 VB上の吹き出しには「As Object」とあるのですが、実際には文字列(string)や数字(long)です。 そのままRun("test",moji,suuji)のようには無理でしょうか。 ちなみにExcelの受け側ですが、 test(byval moji as string,byval num as integer) のようにすれば…と思っていたのですが。 ご存知の方がいらっしゃいましたら教えてください。 お願いいたします。

  • SqlDataSource1のドロップダウンリストにページロード時に値

    SqlDataSource1のドロップダウンリストにページロード時に値をいれたいのですが どのようにしたらいいのでしょうか? SqlDataSource にDropDownList1と同じ内容のデータベース 1 りんご 2 みかん 3 ぶどう でページロード時3を指定しているようにしたいのですが 下記ではDropDownList1はできるのですがSqlDataSourceを使っているDropDownList2 では 項目一覧に存在しないため、'DropDownList2' に SelectedValue を指定することは無効です。 パラメータ名: value というエラーがになってしまいます。 どうしたらできるでしょうか? <%@ Page Language="VB" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) DropDownList1.Text = "3" DropDownList2.Text = "3" End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>無題のページ</title> </head> <body> <form id="form1" runat="server"> <div> <asp:DropDownList ID="DropDownList1" runat="server"> <asp:ListItem>りんご</asp:ListItem> <asp:ListItem>みかん</asp:ListItem> <asp:ListItem>ぶどう</asp:ListItem> </asp:DropDownList> <asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="SqlDataSource1" DataTextField="MyLike" DataValueField="NO"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>" SelectCommand="SELECT [NO], [MyLike] FROM [MyLike]"></asp:SqlDataSource> </div> </form> </body> </html>

  • HTMLで別のフォルダのファイルにリンクする。

    HTMLとasp.netで開発をしています。 開発初心者です。 あるHTMLファイルから、別のフォルダのHTMLファイルへリンクし、 特定の位置に部分に移動したいのですが、うまくできません。 リンク元 <a href="../aa/bbb.aspx#test">test</a> リンク先 <th class="m"><a name="test">ここに飛んで!</a></th> リンク先のはじめに、 <form id="form1" name="form1" method="post" action="aaa.aspx">が 書かれているのですが、関係ありますか? リンク先を id や name で設定してみたりと、いろいろ試したのですが、うまくいきません(泣) ↓参考にしたURLです↓ http://www.tagindex.com/html_tag/link/a_url_id.html 宜しくお願いします。

    • ベストアンサー
    • HTML
  • リンクに関する制御について【XHTML&CSS&JavaScript】

    【XHTML&CSS】 リンク制御について Webサイトにおいて、現在リンクの制御の方法をどうしたらいいのかわかりません。(JavaScriptについては初心者です。) XHTMLのソース上においてリンクを以下のように記述し、 <ul> <li><a href="../link/test1.html">テスト1</a></li> <li><a href="../link/test2.html">テスト2</a></li> <li><a href="../link/test3.html">テスト3</a></li> <li><a href="../link/test4.html">テスト4</a></li> </ul> 上記のようにリストを作成するが、テスト1からテスト3まではリンク先のファイルが存在するが、テスト4についてはファイルが存在しない。 この状態では、 通常であればテスト4は"404 Not Found「ページが存在しません。」などのエラーが表示されます。 これをCSSまたは、JavaScriptなどで制御して、 リンク先のファイル(test4.html)を探しに行って存在しない場合、 リンク先へ遷移させないようにはするにはどうしたら実現可能でしょうか? よろしくお願いします。

  • FormViewのEditItemTemplateに配置したボタンへのjavascript組み込み

    はじめまして セバといいます。 VBでaspxを利用しシステムを開発していますが、 次のような現象が発生し困っています。 仕様 1.FormviewのItemTemplateに配置している「edit_Chage」ボタンで FormviewをEditmodeに変更します。 2.FormviewのEditItemTemplateには「hello」ボタンを配置し、 ボタン押下時にjavascriptを起動します。 問題点 FormviewのFormView1_ModeChangedにてイベントを拾い、 「hello」ボタンにjavascriptを組み込もうとしていますが、 この時点では「hello」ボタンのインスタンスが生成おらず、 『オブジェクト参照がオブジェクト インスタンスに設定されていません。』 のエラーになってしまいます。 サンプルプログラム /////////////////////////////// Default.aspx <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %> <!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> </head> <body> <form id="form1" runat="server"> <div> </div> <asp:FormView ID="FormView1" runat="server" DataSourceID="SqlDataSource1"> <EditItemTemplate> tmp1: <asp:TextBox ID="tmp1TextBox" runat="server" Text='<%# Bind("tmp1") %>' /> <asp:Button ID="Button1" runat="server" Text="hello" /> <br /> <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update" Text="更新" /> &nbsp;<asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="キャンセル" /> </EditItemTemplate> <InsertItemTemplate> </InsertItemTemplate> <ItemTemplate> tmp1: <asp:Label ID="tmp1Label" runat="server" Text='<%# Bind("tmp1") %>' /> <br /> <asp:Button ID="Button2" runat="server" CommandName="edit" Text="edit_Chage" /> </ItemTemplate> </asp:FormView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:testConnectionString %>" SelectCommand="SELECT [tmp1] FROM [tmpTBL]"> </asp:SqlDataSource> </form> </body> </html> /////////////////////////////// Default.aspx.vb Partial Class _Default Inherits System.Web.UI.Page Protected Sub FormView1_ModeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.ModeChanged '「Hello」ボタンへのjavascript組み込み If FormView1.CurrentMode = FormViewMode.Edit Then Dim btn As Button btn = CType(FormView1.FindControl("Button1"), Button) Dim sbScript As New System.Text.StringBuilder() sbScript.Append("alert('Hello')") btn.Attributes("onclick") = sbScript.ToString() End If End Sub End Class //////////////////////// また、 「Hello」ボタンのインスタンスを強制的に作ろうと、 Default.aspx.vbにFormView1.DataBind()を組み込みましたが、 インスタンスは生成されたものの、 onclickタグは生成されませんでした。 If FormView1.CurrentMode = FormViewMode.Edit Then Dim btn As Button FormView1.DataBind() <--- ここに追加 btn = CType(FormView1.FindControl("Button1"), Button) EditItemTemplateに配置したボタンにプログラムでjavascriptを組み込みたいのですが、 どなたか解決方法をご存知な方がいましたら、ご教示願いします。

  • ASP.NETでTimerコントロールを使用したい

    ASP.NETWebアプリケーションについての質問です。 ajaxのTimerコントロールでイベントを発生させ、画面の再描画をしようとしています。 コードは以下のような感じで、OnPreRenderイベント内で描画処理を行います。 Partial Public Class _Default Inherits System.Web.UI.Page Private str As String = "" Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load str = CStr(Date.Now) End Sub Protected Overrides Sub OnPreRender( _ ByVal e As System.EventArgs _ ) Label1.Text = str End Sub End Class Timerコントロールを配置して実行したところ、 Script controls may not be registered before PreRender. というエラーが出てしまいます。 調べてみたのですが原因がわかりません。 何かプロパティの設定などが必要なのでしょうか? aspx のコードは以下のとおりです。 <%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="WebApplication5._Default" %> <%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI" TagPrefix="asp" %> <!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> </head> <body> <form id="form1" runat="server"> <asp:ScriptManager ID="ScriptManager1" runat="server" ></asp:ScriptManager> <asp:Timer ID="Timer1"runat="server"></asp:Timer> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Labe> l </form> </body> </html> 回答よろしくお願いいたします。

    • ベストアンサー
    • AJAX
  • [ASP.NET] Web.configからの値取得

    ASP.NET(VBを利用)についてお尋ねいたします。 小さなプロジェクトを新規に作成し、 「web.config」の中で <configuration> <appSettings> <add key="connStr" value="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=XX;Initial Catalog=Northwind;Data Source=RED;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=RED;Use Encryption for Data=False;Tag with column collation when possible=False" /> </appSettings> <system.web> (以下略) と記載。 **.aspx.vbのほうでここで記載したkeyの値を取得し、**.aspxのラベルに出力したいと思ったのですが どうしたらいいでしょうか? 「**.aspx.vb」 Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim aa As New AppSettingsReader Dim str As String = "connStr" Dim st As System.Type st = aa.GetType()     'Label1.Text = aa.GetValue(str, st)     ??    End Sub また、このkeyを同一ソリューションの中の複数プロジェクトで利用したいときは、うえのような記述(web.config)でよいでしょうか? このkeyにDBサーバーへの接続文字列を記載して同一ソリューションの各プロジェクトで利用したいと思っているのですがうまくいかず困っています。 アドバイスまたは小さなサンプルでもよいので教えていただけませんか? お願いいたします。

  • ログイン画面の入力値を、遷移先の画面で使用したい

    お世話になります。 作業機のOSは WinXP(x86) VWD2010Expressを使用し、VB.net開発をしております。 メンバーシップフレームワークを使用し、 メンバーサイトの作成をしているのですが ログインユーザーのID値を、ログイン先の画面の.vbで どうやって変数に取得すれば良いのか悩んでおります。 画面遷移は Login.aspx ⇒ main.aspx main.aspx側で <asp:LoginName ID="LoginName1" runat="server" FormatString="userID={0}"/> と、記述することで、ログイン画面で入力したID値を取る事ができています。 (例. userID=64 ) この値をどうやって.vbファイル内のオンロードイベントや、 ボタンクリックのイベントなどで使用する変数に代入する事ができるでしょうか。 Dim str1 As String = LoginName1.FormatString と、いった記述で取れそうにも思えるのですがタグエラーとなります。 http://okwave.jp/qa/q3611553.html こちらのスレッドでは、サーバータグの値を取ることはできない、と 書かれていますが、ログインユーザーの情報を元にテーブル参照時の 条件として使用するなど、よくやることに思えるので、 何か他に考え方、やり方があるのではないかと思いまして相談致します。 ログイン画面で入力された値を、遷移先の画面で変数に入れて使用する、 その方法をどうか教えてください。何卒よろしくお願いします。