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

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

ログ内検索
  • キーワードを複数指定する場合は 半角スペース で区切ってください。
  • 検索条件は、(AND)=[A かつ B] (OR)=[A または B] となっています。
  • [返信]をクリックすると返信ページへ移動します。
キーワード/ 検索条件 /
検索範囲/ 強調表示/ ON (自動リンクOFF)
結果表示件数/ 記事No検索/ ON
大文字と小文字を区別する

No.93122 の関連記事表示

<< 0 >>
■93122  gridview return confirm について
□投稿者/ ゆう -(2019/11/21(Thu) 20:33:22)

    分類:[ASP.NET (VB)] 

    環境 asp.net  vb.net

    gridview上に任意のボタンを配置し、そのボタンをクリックしたら、その行の店舗のデータを削除するというシステムを作っています。
    削除する前に
    OnclientClientClick="return confirm('本当に削除していいですか?')"
    というメッセージを表示させ、OKをクリック後にその店舗のデータを削除するイベントを作り、正しく動作しています。

    やりたいことは、return confirm ('本当に削除してもいいですか?')のメッセージの中に、該当の行にある店舗の名前を加え、
    return confirm ('○○店のデータを本当に削除してもいいですか?')としたいですが、そもそもそんなことが出来るのかが分かりません。

    他の方法で試してみましたが、gridview上のボタンでメッセージを出すにはやはり return confirm でするのが一般的なやり方の様で、
    他のやり方が思いつきません。上記のようにreturn confirm ('○○店のデータを本当に削除してもいいですか?')でできたらいいのですが。。

    どなたかご教授いただければ幸いです。よろしくお願いいたします。
親記事 /過去ログ161より / 関連記事表示
削除チェック/

■93123  Re[1]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/21(Thu) 21:31:36)
    No93122 (ゆう さん) に返信

    開発環境(OS, .NET, Visual Studio のバージョン、DB は何かとそのエディション・
    バージョン)を書いてください。

    > やりたいことは、return confirm ('本当に削除してもいいですか?')のメッセージの中に、該当の行にある店舗の名前を加え、
    > return confirm ('○○店のデータを本当に削除してもいいですか?')としたいですが、


    GridView に表示するデータは DB のあるテーブルから SqlDataSource などを使って取
    得していると想像していますが(想像が違ったらどう違うか書いてください)、取得する
    レコードの中に「○○店」のデータは含まれるのでしょうか?
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93129  Re[2]: gridview return confirm について
□投稿者/ ゆう -(2019/11/22(Fri) 12:17:03)
    No93123 (WebSurfer さん) に返信

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

    > 開発環境(OS, .NET, Visual Studio のバージョン、DB は何かとそのエディション・
    > バージョン)を書いてください。

    失礼しました。
    win10、.NET framework4.0、visual studio2017、S I Object Browser for Olacie Ver.12.1.3.0
    です。足りなかったらごめんなさい‥。

    > GridView に表示するデータは DB のあるテーブルから SqlDataSource などを使って取
    > 得していると想像していますが(想像が違ったらどう違うか書いてください)、

    その通りです。SqlDataSourceで取ってきています。

    >取得するレコードの中に「○○店」のデータは含まれるのでしょうか?

    はい、含まれています。表の1行目が「店舗名」で、数十店舗のデータが一覧でのっています。
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93132  Re[3]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/22(Fri) 13:20:08)
    No93129 (ゆう さん) に返信
    
    > >取得するレコードの中に「○○店」のデータは含まれるのでしょうか?
    >
    > はい、含まれています。表の1行目が「店舗名」で、数十店舗のデータが一覧でのっています。
    
    そうであれば、[削除]ボタン(Button または LinkButton と理解してます)の OnClientClick 
    プロパティにデータバインド式で「○○店」のデータを設定してやればやりたいことはできると思
    います。以下の記事を参考にしてください。
    
    データバインド式
    http://surferonwww.info/BlogEngine/post/2010/08/17/Data-bind-method.aspx
    
    具体的には、例えば、SqlDataSource の SelectCommad が以下のようになっていて、その中の name 
    が「○○店」に該当するとすると、
    
    SelectCommand="SELECT [id], [name], ... FROM [Table]"
    
    データバインド式 Eval("name") でその行の「○○店」が取得できます。
    
    .aspx 側でスクリプトの文字列を組み立てるのはうまくいかないので、上に紹介した記事に書いた
    ように、コードビハインド側で以下のメソッドを追加して(コードは C# です)、それでスクリプ
    トの文字列を組み立てて、
    
    protected string Confirmation(string name)
    {
        return string.Format("return confirm('{0} を削除して良いですか?');", name);
    }
    
    .aspx 側では以下のように OnClientClick プロパティに設定してください。(LinkButton を
    使っていると想像していますが、Button でも同じ)
    
    <ItemTemplate>
        ・・・中略・・・
        <asp:LinkButton ID="LinkButton2" runat="server" 
            CausesValidation="False" CommandName="Delete" Text="削除" 
            OnClientClick='<%#Confirmation((string)Eval("name"))%>'
        </asp:LinkButton>
    </ItemTemplate>
    
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93133  Re[3]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/22(Fri) 13:35:26)
    No93129 (ゆう さん) に返信

    私のレス No93132 コードで > が一つ抜けてました。すみません。

    誤: OnClientClick='<%#Confirmation((string)Eval("name"))%>'

    正: OnClientClick='<%#Confirmation((string)Eval("name"))%>'>
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93131  Re[1]: gridview return confirm について
□投稿者/ 大谷刑部 -(2019/11/22(Fri) 13:00:55)
    No93122 (ゆう さん) に返信
    > 環境 asp.net  vb.net
    >
    > gridview上に任意のボタンを配置し、そのボタンをクリックしたら、その行の店舗のデータを削除するというシステムを作っています。
    > 削除する前に
    > OnclientClientClick="return confirm('本当に削除していいですか?')"
    > というメッセージを表示させ、OKをクリック後にその店舗のデータを削除するイベントを作り、正しく動作しています。
    >
    > やりたいことは、return confirm ('本当に削除してもいいですか?')のメッセージの中に、該当の行にある店舗の名前を加え、
    > return confirm ('○○店のデータを本当に削除してもいいですか?')としたいですが、そもそもそんなことが出来るのかが分かりません。

    ↓内容思いっ切り以下のケースと被ってる気がしますけど。
    https://www.atmarkit.co.jp/fdotnet/dotnettips/104confirmdg/confirmdg.html

    C#をVBの構文に読み替えて、イベントハンドラー内で名称取得してconfirmに変数で文言渡せばいいのでは?

記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93172  Re[2]: gridview return confirm について
□投稿者/ ゆう -(2019/11/25(Mon) 21:04:58)
    No93131 (大谷刑部 さん) に返信

    返信ありがとうございます。そのサイトは既に拝見しておりますが、知りたいことはそれでは分かりませんでした。
    ご助言ありがとうございます。
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93173  Re[3]: gridview return confirm について
□投稿者/ ゆう -(2019/11/25(Mon) 21:26:11)
    No93132 (WebSurfer さん) に返信

    ご丁寧な返信ありがとうございます。遅くなりまして申し訳ありません。
    書いて頂いたソースを元に色々と試しており、まだできていませんが、近づくことはできていると思います。


    >コードビハインド側で以下のメソッドを追加して

    以下のようにしました。

    Public Function CreateConfirmation (ByVal name As string) As string
    Return string.Format("name","return confirm ('のデータを削除していいですか?');")
    End Function



    ><ItemTemplate>
    > ・・・中略・・・
    > <asp:LinkButton ID="LinkButton2" runat="server"
    > CausesValidation="False" CommandName="Delete" Text="削除"
    > OnClientClick='<%#Confirmation((string)Eval("name"))%>'
    > </asp:LinkButton>
    ></ItemTemplate>

    以下のようにしました。


    <ItemTemplate>
    ・・・中略・・・
    <asp:Button ID="Button1" runat="server"
    CausesValidation="False" CommandName="Delete" Text="削除"
    OnClientClick='<%#CreateConfirmation (Eval(container.DataItem,"name"))%>'
    </asp:Button>
    </ItemTemplate>


    これでは「DataRowViewからStringへの変換は無効です」となってしまいます。
    DataRowViewからStringへの変換の方法、もしくはソースで間違いのご指摘があれば、
    教えて頂きたいです。
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93175  Re[4]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/25(Mon) 22:22:18)
    No93173 (ゆう さん) に返信

    C# が分からななら変換サービスがありますので使ってみてください。

    Telerik Cide Conveter
    http://converter.telerik.com/

    > OnClientClick='<%#CreateConfirmation (Eval(container.DataItem,"name"))%>'

    キャストを VB.NET ではどうすればよいかを勉強してください。
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93181  Re[4]: gridview return confirm について
□投稿者/ 大谷刑部 -(2019/11/26(Tue) 09:50:06)
    No93173 (ゆう さん) に返信
    > <ItemTemplate>
    > ・・・中略・・・
    > <asp:Button ID="Button1" runat="server"
    > CausesValidation="False" CommandName="Delete" Text="削除"
    > OnClientClick='<%#CreateConfirmation (Eval(container.DataItem,"name"))%>'
    > </asp:Button>
    > </ItemTemplate>
    >
    >
    > これでは「DataRowViewからStringへの変換は無効です」となってしまいます。
    > DataRowViewからStringへの変換の方法、もしくはソースで間違いのご指摘があれば、
    > 教えて頂きたいです。

    ↓以下を読んでみたら?
    https://www.atmarkit.co.jp/fdotnet/dotnettips/060eval/eval.html
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93184  Re[4]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/26(Tue) 14:02:06)
    No93173 (ゆう さん) に返信
    
    私が No93175 に書いたことでは解決にたどり着けなかったでしょうか?
    
    そもそも質問者さんは VB.NET でコードを書くスキルは十分お持ちなのですか? そうでない
    とすると、説明しても何ともならないかもしれませんが、乗り掛かった舟ということでもう少
    し詳しく書いておきます。
    
    
    まず No93132 で書いた C# の Confirmation メソッドのコードは以下の通りですが、
    
    protected string Confirmation(string name)
    {
        return string.Format("return confirm('{0} を削除して良いですか?');", name);
    }
    
    それを No93175 で紹介した変換サービスで VB.NET のコードに変換すると、
    
    Protected Function Confirmation(ByVal name As String) As String
        Return String.Format("return confirm('{0} を削除して良いですか?');", name)
    End Function
    
    となるので、それをそのまま質問者さんのコードにコピペすれば良いです。
    
    次に、LinkButton の OnClientClick プロパティにデータバインド式で設定する Confirmation 
    メソッドですが、その引数は String 型なので Eval("name") を String 型にキャストする必要
    があります。
    
    C# のコードでは以下のように (string) を使ってキャストしています。
    
    OnClientClick='<%#Confirmation((string)Eval("name"))%>'
    
    VB.NET ではキャストに CType を使って以下のようにします。
    
    OnClientClick='<%#Confirmation(CType(Eval("name"), String))%>'
    
    ただ、VB.NET の場合はデフォルトで Option Strict Off なのでキャストしなくても、
    
    OnClientClick='<%#Confirmation(Eval("name"))%>'
    
    として VB.NET が勝手に変換してくれるかも(未検証・未確認ですが)。
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93187  Re[5]: gridview return confirm について
□投稿者/ ゆう -(2019/11/26(Tue) 21:19:20)
    ご回答いただきありがとうございました。
    WebSurfer様のやり方で、想定していたものができました。
    仕事で突然の異動、知識ゼロでこのシステムを作っているので、初歩的な質問になりました。
    ありがとうございました。
記事No.93122 のレス / END /過去ログ161より / 関連記事表示
削除チェック/

■93188  Re[6]: gridview return confirm について
□投稿者/ WebSurfer -(2019/11/26(Tue) 21:38:21)
    No93187 (ゆう さん) に返信

    > 仕事で突然の異動、知識ゼロでこのシステムを作っているので、初歩的な質問になりました。

    仕事でやってるなら上司・先輩に聞くべくです。

    業務上の問題・課題の質問をここのような Q&A サイトで聞くなんておかしと思いませんか?

    もし組織内で聞けなくて、Q&A サイトで質問せざるを得ないという環境にあるのなら、それは組織
    として問題があると言わざるを得ません。

    行美であれば、当然、製品品質にかかわるはずですが、その組織は必要な力量を持つ要員をアサイ
    ンしてない、すなわち組織として製品品質を担保できていないということになるのでは?
記事No.93122 のレス /過去ログ161より / 関連記事表示
削除チェック/

■93194  Re[7]: gridview return confirm について
□投稿者/ 大谷刑部 -(2019/11/27(Wed) 09:46:18)
    No93188 (WebSurfer さん) に返信
    > ■No93187 (ゆう さん) に返信
    >
    >>仕事で突然の異動、知識ゼロでこのシステムを作っているので、初歩的な質問になりました。
    >
    > 仕事でやってるなら上司・先輩に聞くべくです。

    でたよ。主観の押し付け。
記事No.93122 のレス / END /過去ログ161より / 関連記事表示
削除チェック/



<< 0 >>

パスワード/

- Child Tree -