新サイトへ移転しました
約3秒後に自動的にリダイレクトします。
やりたかったこと
- GridViewの表示項目にリンクを設置し、リンクをクリックしたら処理を行う。
- 処理のトリガーとなるのがリンクをクリックしたときに発生するRowCommandイベント。
原因と対応
- 親ページ(マスターページ)にて、ViewStateMode="Disabled"になっていた
- 親ページ(マスターページ)にて、ViewStateMode="Enabled"にした
ソース抜粋
- 親ページ(ヘッダー、フッターを設定しているページ)
<div id="MasterBodyArea" class="FlameBodyCss"> <asp:ContentPlaceHolder ID="BodyTag" runat="server" ViewStateMode="Enabled"> <!-- それぞれのページで記述する --> </asp:ContentPlaceHolder> </div>
- 子(それぞれの画面)
<%-- Bodyタグ内の内容を記述--%> <asp:Content ID="BodyTag" ContentPlaceHolderID="BodyTag" Runat="Server"> <%--明細情報(GridView)--%> <div id="RirekiArea"> <asp:GridView ID="gvMeisai" runat="server" ShowHeader="True" AutoGenerateColumns="False" CssClass="table table-striped table-hover table-bordered" OnRowCreated="gv_RowCreated" ClientIDMode="Static"> <HeaderStyle CssClass="table-dark" Wrap="false" /> <Columns> <%--No--%> <asp:TemplateField HeaderText="No" ItemStyle-Width="30px" ItemStyle-HorizontalAlign="Center" > <ItemTemplate> <asp:LinkButton ID="lnkNO" runat="server" Text='<%# HttpUtility.HtmlEncode(Eval("NO")) %>' CommandName="lnkNO" CommandArgument="<%# CType(Container, GridViewRow).RowIndex %>" /> </ItemTemplate> </asp:TemplateField> <%--登録日--%> <asp:TemplateField HeaderText="登録日" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" ItemStyle-CssClass="Nowrap" > <ItemTemplate> <asp:Label runat="server" ID="lblTOROKUBI" Text='<%# Bind("TOROKUBI") %>'/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> </div> </asp:Content>