C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: ASP.NET内クライアントサイドとサーバサイドについて


(過去ログ 82 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■48596 / inTopicNo.1)  ASP.NET内クライアントサイドとサーバサイドについて
  
□投稿者/ なかむら (3回)-(2010/04/09(Fri) 11:51:17)

分類:[ASP.NET (VB)] 

2010/04/09(Fri) 11:57:14 編集(投稿者)
2010/04/09(Fri) 11:52:11 編集(投稿者)
2010/04/09(Fri) 11:52:03 編集(投稿者)

========================================================================================
使用環境
Visual Studio 2008 Profissional Edition
SQL_Server2008
Windows XP SP3
========================================================================================

お世話になります。

現在、ASP.NETにて開発中なのですが、初心者のためよく理解できてない部分があります。

今、開発内で止まっている部分の質問です。

サーバサイドにて(言語はVB)データソースを設定し、データをSELECT文にて呼び出し、そのデータを
ポストバックさせないためにクライアントサイドで用意したSELECT(サーバサイドでいうところのDROPDOWNLIST)の
項目として設定させたいのですが、それをどうすればよいかわからずにいます。

当初、グローバル変数として設定できるものと思い、Global.asaxファイル上に設定してみましたが
できませんでした。

当方、javascriptについて未経験なのでなんともいえませんが、
サーバサイドで取得したデータは、クライアントサイドで用いることはできないのでしょうか?
また、できるとしたらその方法はどうすればよいのでしょうか?

ご教授のほど、よろしくお願いします。



引用返信 編集キー/
■48605 / inTopicNo.2)  Re[1]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ はつね (1244回)-(2010/04/09(Fri) 13:11:20)
No48596 (なかむら さん) に返信
> サーバサイドにて(言語はVB)データソースを設定し、データをSELECT文にて呼び出し、そのデータを
> ポストバックさせないためにクライアントサイドで用意したSELECT(サーバサイドでいうところのDROPDOWNLIST)の
> 項目として設定させたいのですが、それをどうすればよいかわからずにいます。

サーバーサイド、クライアントサイドというよりも、DropDownListの候補にデータセットの
内容を表示したい

ってことでしょうか?

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
   If Not Me.IsPostBack Then
      'ここでDataSetにデータ設定
      hogehoge_DropDownList.DataValueField = "県コード"
      hogehoge_DropDownList.DataTextField = "県名"
      hogehoge_DropDownList.DataSource = ds
      hogehoge_DropDownList.DataBind()
   End If
End Sub


引用返信 編集キー/
■48606 / inTopicNo.3)  Re[2]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ なかむら (4回)-(2010/04/09(Fri) 14:16:30)
No48605 (はつね さん) に返信
> ■No48596 (なかむら さん) に返信
>>サーバサイドにて(言語はVB)データソースを設定し、データをSELECT文にて呼び出し、そのデータを
>>ポストバックさせないためにクライアントサイドで用意したSELECT(サーバサイドでいうところのDROPDOWNLIST)の
>>項目として設定させたいのですが、それをどうすればよいかわからずにいます。
>
> サーバーサイド、クライアントサイドというよりも、DropDownListの候補にデータセットの
> 内容を表示したい
>
> ってことでしょうか?
>
> Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
> If Not Me.IsPostBack Then
> 'ここでDataSetにデータ設定
> hogehoge_DropDownList.DataValueField = "県コード"
> hogehoge_DropDownList.DataTextField = "県名"
> hogehoge_DropDownList.DataSource = ds
> hogehoge_DropDownList.DataBind()
> End If
> End Sub
>
>

お返事ありがとうございます。

いえ、そうではなく。。

VBにて設定された

shared Str1 as string ="県コード"
"県コード"はサーバ側のデータベースより読み込んできたものとして。。

このStr1をクライアント側、aspで設定したselect内のoption valueに項目としてプログラムにて設定したいのです。
<select name="D1" id="Chooose"
<option value=Str1>Str1</option>
</select>

javaspriptのvar op = new Option(text, value);
にて設定する模様ですが、
ここの"value”にstr1を設定する要領を教えていただきたいのです。

よろしくお願いいたします。
引用返信 編集キー/
■48607 / inTopicNo.4)  Re[3]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ みきぬ (853回)-(2010/04/09(Fri) 14:52:44)
サーバ側でこう定義されていれば(Private だとアクセスできないかも)

Public str1 As String = "県コード"

こんな感じで使えます。

var op = new Option(text, "<%= str1 %>");

具体的には、<%= str1 %> の部分がサーバ側で実行されて、その結果が HTML としてクライアントに送られます。


ところで「ポストバックさせないために」という意味がよくわかりません。
サーバ側で何か処理をして、その結果をクライアントに反映させるには、ポストバック(というかサーバアクセス)は必要だと思いますが。
引用返信 編集キー/
■48608 / inTopicNo.5)  Re[4]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ todo (6回)-(2010/04/09(Fri) 15:16:04)
ポストバックしない手法としては、Ajaxがあります。
引用返信 編集キー/
■48609 / inTopicNo.6)  Re[3]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ はつね (1245回)-(2010/04/09(Fri) 16:08:03)
No48606 (なかむら さん) に返信
> shared Str1 as string ="県コード"
> "県コード"はサーバ側のデータベースより読み込んできたものとして。。
>
> このStr1をクライアント側、aspで設定したselect内のoption valueに項目としてプログラムにて設定したいのです。
> <select name="D1" id="Chooose"
> <option value=Str1>Str1</option>
> </select>

サーバーコントロールじゃなくてhtmlコントロールを使わないといけないんですか?

引用返信 編集キー/
■48616 / inTopicNo.7)  Re[4]: ASP.NET内クライアントサイドとサーバサイドについて
□投稿者/ Jitta on the way (601回)-(2010/04/09(Fri) 19:45:43)
No48609 (はつね さん) に返信
> ■No48606 (なかむら さん) に返信
>>shared Str1 as string ="県コード"
>>"県コード"はサーバ側のデータベースより読み込んできたものとして。。
>>
>>このStr1をクライアント側、aspで設定したselect内のoption valueに項目としてプログラムにて設定したいのです。
>><select name="D1" id="Chooose"
>><option value=Str1>Str1</option>
>></select>
>
> サーバーコントロールじゃなくてhtmlコントロールを使わないといけないんですか?
>

「サーバーでこう定義したものを、クライアントでこう表現したい」ということだと思います。
はつねさんの代わりに返答すると、「先のコードで、お望みの通りの HTML が出来上がります。」
サーバーのコントロールは、レンダリングという処理によって、HTML に変換されます。Bind は、データとコントロールを結びつけます。レンダリング処理で、結びつけられたデータが展開されます。DropdownList の場合、コントロールは select 要素になり、データは option 要素になります。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -