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

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

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

クライアントからサーバーにデータを渡す

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

■93764 / inTopicNo.1)  クライアントからサーバーにデータを渡す
  
□投稿者/ 分かりません (1回)-(2020/01/29(Wed) 15:59:21)

分類:[JavaScript] 

JavaScript
ASP.Net

クライアントからサーバーにデータを渡す作業に手間取っています(´;ω;`)

とりあえずコード書きます。
JavaScript↓
function getSearchParams() {
    var Chk_ok = "";
    var Txt_Year = "";

    if ($("#CheckBox_1").prop("checked")) {
        Chk_ok = "1";
        Txt_Year = $("#TextBox_1").val();
    } else {
        Txt_Year = "";
    }
   :
   :

    searchParam = {
        CheckBox_1: Chk_ok ,
        TextBox_1: Txt_Year 
    :
    :
    :
    };
    return searchParam;
}

$("#Button_1").on("click",function(){
   

)};


Button_1をクリックでgetSearchParamsの値をaspx.vbの方にデータを渡したいのですがやり方が分かりません。
ajaxで渡すと聞いたのですが、それでも分からず…。

ちなみにgetSearchParamsは一部書いたので結果としては配列になります。

説明下手くそかもしれないです。
その場合は指摘してください。
宜しくお願します。

引用返信 編集キー/
■93765 / inTopicNo.2)  Re[1]: クライアントからサーバーにデータを渡す
□投稿者/ WebSurfer (2010回)-(2020/01/29(Wed) 16:57:04)
No93764 (分かりません さん) に返信

データを受け取るサーバー側はどうなっているのですか?

クライアントは普通に IE, Chrome などのブラウザでいいのですか?
引用返信 編集キー/
■93766 / inTopicNo.3)  Re[2]: クライアントからサーバーにデータを渡す
□投稿者/ 分かりません (2回)-(2020/01/29(Wed) 17:10:45)
No93765 (WebSurfer さん) に返信
> ■No93764 (分かりません さん) に返信
>
> データを受け取るサーバー側はどうなっているのですか?

どう受け取っていいのかも分からず

Protected Sub Hf_BtnDownload_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Hf_BtnDownload.Click

End Sub

の状態になってます…。お手数おかけします

> クライアントは普通に IE, Chrome などのブラウザでいいのですか?
IEです!
引用返信 編集キー/
■93767 / inTopicNo.4)  Re[3]: クライアントからサーバーにデータを渡す
□投稿者/ WebSurfer (2011回)-(2020/01/29(Wed) 18:10:34)
No93766 (分かりません さん) に返信

>>データを受け取るサーバー側はどうなっているのですか?
>
> どう受け取っていいのかも分からず

それでは何が分からないかもわからない人から質問を受けているようで、それでは答える方
も困ってしまうのですが・・・

何が分からないか、何を知りたいのか、他人は読んで分かるように文書化できないと、ここ
のような文章でやり取りする掲示板では解決は難しいです。

分からないこと・聞きたいことをちゃんと文書化できませんか?

> Protected Sub Hf_BtnDownload_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Hf_BtnDownload.Click
>
> End Sub
>
> の状態になってます…。お手数おかけします

それから想像できるのはサーバー側は ASP.NET Web Forms アプリで、ボタンクリックでダウン
ロードが始まるのかな? でも、そこにはブラウザの JavaScript 云々の話は出てくるはずは
ないので違うのかな?・・・ということぐらいです。





引用返信 編集キー/
■93768 / inTopicNo.5)  Re[4]: クライアントからサーバーにデータを渡す
□投稿者/ 分かりません (3回)-(2020/01/30(Thu) 09:18:32)
No93767 (WebSurfer さん) に返信
> 分からないこと・聞きたいことをちゃんと文書化できませんか?

> それから想像できるのはサーバー側は ASP.NET Web Forms アプリで、ボタンクリックでダウン
> ロードが始まるのかな? でも、そこにはブラウザの JavaScript 云々の話は出てくるはずは
> ないので違うのかな?・・・ということぐらいです。

とりあえず自分なりにやってみました。

$(function(){
    //ボタンクリック
    $("#Button_1").on('click', function () {
        var searchParam = getSearchParams();
       //POST送信
       postForm("./hyouji.aspx", JSON.stringify(searchParam));
    });
});

function getSearchParams() {
    var Chk_ok = "";
    var Txt_Year = "";

    if ($("#CheckBox_1").prop("checked")) {
        Chk_ok = "1";
        Txt_Year = $("#TextBox_1").val();
    } else {
        Txt_Year = "";
    }
   :
   :

    searchParam = {
        CheckBox_1: Chk_ok ,
        TextBox_1: Txt_Year 
    :
    :
    :
    };
    return searchParam;
}

一旦ページロードで取得できるかやってみました。

hyouji.aspx↓
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    Dim ControllerstAs New Controllerst
  Dim searchget = Request.Params("searchParam")

  Dim Dtset As DataTable
    Dtset = Controllerst.Getsearch(1000, 70, 0, 0, searchget )

    Dtset.rows(0)("aa").tostring

End Sub

という形でデータを取得できればと思っています。
Controllerst.Getsearchのデータを取得するのに必要という感じです。

ですがやはり取得できませんでした。
上手く説明ができず、すみません。


引用返信 編集キー/
■93771 / inTopicNo.6)  Re[5]: クライアントからサーバーにデータを渡す
□投稿者/ WebSurfer (2013回)-(2020/01/30(Thu) 10:35:58)
No93768 (分かりません さん) に返信

コードの postForm, Controllerst など定義不明で細かいところで何をしてるか分からないですが、
要するに:

(1) ASP.NET Web Forms アプリで、

(2) Button クリックにてポストバックされる際、

(3) var searchParam = getSearchParams(); で seachParams に取得できる JavaScript オブジェクトを、

(4) JSON 文字列に変換して、

(5) サーバーに送信するフォームデータに含めて、

(6) サーバー側でポストバックを受けたページの Page_Load で (4) の JSON 文字列を取得する。

・・・ということができれば良いのですか? 違う場合はどこがどう違うのか詳しく書いてください。

引用返信 編集キー/
■93773 / inTopicNo.7)  Re[6]: クライアントからサーバーにデータを渡す
□投稿者/ 分かりません (4回)-(2020/01/30(Thu) 11:18:51)
No93771 (WebSurfer さん) に返信
> 要するに:
>
> (1) ASP.NET Web Forms アプリで、
>
> (2) Button クリックにてポストバックされる際、
>
> (3) var searchParam = getSearchParams(); で seachParams に取得できる JavaScript オブジェクトを、
>
> (4) JSON 文字列に変換して、
>
> (5) サーバーに送信するフォームデータに含めて、
>
> (6) サーバー側でポストバックを受けたページの Page_Load で (4) の JSON 文字列を取得する。


そういう事です。
本当に説明が下手くそですみません。お手数をおかけしました。。。_| ̄|○

現状エラーが起きているわけでもなく、ただNothingと取得できていない状況です。

引用返信 編集キー/
■93774 / inTopicNo.8)  Re[7]: クライアントからサーバーにデータを渡す
□投稿者/ WebSurfer (2014回)-(2020/01/30(Thu) 12:35:41)
No93773 (分かりません さん) に返信

No93768 のコード、

> $(function(){
>     //ボタンクリック
>     $("#Button_1").on('click', function () {
>         var searchParam = getSearchParams();
>        //POST送信
>        postForm("./hyouji.aspx", JSON.stringify(searchParam));
>     });
> });

の getSearchParams() で期待通り JavaScript オブジェクトは取得でき、JSON.stringify(searchParam)
で JSON 文字列が取得できるのは確認できていますか?

であれば、ページに隠しフィールド(HiddenField)を追加して、上記コードの

postForm("./hyouji.aspx", JSON.stringify(searchParam));

を下記のように隠しフィールドに JSON 文字列を代入するコードに変更すれば、

$("#HiddenField1").val(JSON.stringify(searchParam));

Page_Load で HiddenField1.Value で JSON 文字列を取得できるはずです。

お試しください。

注:マスターページを使っているなどで、Button, HiddenField が html に変換された時 id が
  サーバ側の ID と異なる場合は $("#<%=Button_1.ClientID%>") のようにしないとダメなので
  注意してください。

引用返信 編集キー/
■93776 / inTopicNo.9)  Re[8]: クライアントからサーバーにデータを渡す
□投稿者/ 分かりません (5回)-(2020/01/30(Thu) 14:21:38)
No93774 (WebSurfer さん) に返信
>
> ページに隠しフィールド(HiddenField)を追加して、上記コードの
> postForm("./hyouji.aspx", JSON.stringify(searchParam));
> を下記のように隠しフィールドに JSON 文字列を代入するコードに変更すれば、
> $("#HiddenField1").val(JSON.stringify(searchParam));
> Page_Load で HiddenField1.Value で JSON 文字列を取得できるはずです。

ありがとうございます(´;ω;`)
WebSurferさんの回答通りそのままやってみたら実装できました。
難しく考えていたようです…。

本当にありがとうございました。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


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

このトピックに書きこむ