問題があり、それに対する答えが見つかりません。VS2012 では、C#で ASP.NET Web サイトを作成しました。
メンバーシップ プロバイダーのセットアップと作業が完了しました。管理者がロールを編集してユーザーをブロックできる管理ページを作成したいと考えました。サーバー エクスプローラーから asp_membership テーブルをページにドラッグすると、それ自体が作成されました。
関係のない列をいくつか削除し、2 つのボタンを持つ itemtemplatefield を追加しました。最初にコードを見てください。
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="UserId" DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display."
OnSelectedIndexChanged="GridView1_SelectedIndexChanged" >
<Columns>
<asp:CommandField ShowDeleteButton="True" />
<asp:TemplateField HeaderText="Block users">
<ItemTemplate>
<asp:Button runat="server" ID="btnBlock" CommandName="Block"
Text="Block" OnClick="btnBlock_Click" Visible='<%# Convert.ToBoolean(Eval("IsLockedOut").ToString()) %>'/>
<asp:Button runat="server" ID="btnDeblock" CommandName="Deblock"
Text="Deblock" OnClick="bntDeblock_Click" Visible='<%# Convert.ToBoolean(Eval("IsLockedOut").ToString()) %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="UserId" HeaderText="User id" ReadOnly="True"
SortExpression="UserId" />
<asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" />
<asp:CheckBoxField DataField="IsApproved" HeaderText="Confirmed"
SortExpression="IsApproved" />
<asp:BoundField DataField="CreateDate" HeaderText="Created"
SortExpression="CreateDate" />
<asp:BoundField DataField="LastLoginDate" HeaderText="Last login"
SortExpression="LastLoginDate" />
<asp:CheckBoxField DataField="IsLockedOut" HeaderText="Locked"
SortExpression="IsLockedOut" />
<asp:BoundField DataField="LastLockoutDate" HeaderText="Last lockout"
SortExpression="LastLockoutDate" />
<asp:BoundField DataField="FailedPasswordAttemptCount"
HeaderText="Failed logins"
SortExpression="FailedPasswordAttemptCount" />
<asp:BoundField DataField="Comment" HeaderText="Comments"
SortExpression="Comment" />
</Columns>
</asp:GridView>
チェックボックスフィールド「IsLockedOut」が無効になっている場合は表示され、次の場合は表示されない2つのボタン(ブロックとブロック解除)を作成しようとしています...ポイントを取得します。
ページを読み込むと、両方のボタンが消えます。ここにエラーがあると思います: <%# Convert.ToBoolean(Eval("IsLockedOut").ToString()) %>? 誰かが私を助けることができますか?