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

わんくま同盟

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

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


■93132 / )  Re[3]: gridview return confirm について
□投稿者/ WebSurfer (1973回)-(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>

返信 編集キー/


管理者用

- Child Tree -