注:私は初心者のWeb開発者であり、PHPにある程度精通しています。私はASP.NETに興味があり、試してみたいと思っていました。
今、私は次のようなテーブルを表示する小さなライブラリアプリケーションを試しています。
Title - Author - Status
The Eye of the World - Robert Jordan - Checked Out
The Great Hunt - Robert Jordan - Check Out
The Dragon Reborn - Robert Jordan - Check Out
次のクエリを実行するDataSetとTableAdapterを作成しました。
SELECT books.SerialNumber, books.Title, books.Author, CheckedOut.cardNumber
FROM books LEFT OUTER JOIN
CheckedOut ON books.SerialNumber = CheckedOut.SerialNumber
これは、以下で使用するNULLまたはcardNumberのいずれかを取得できるようにするためです。
これが私のメインページの現在の状態です:
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeFile="Browse.aspx.cs" Inherits="_Default" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataKeyNames="SerialNumber,cardNumber" DataSourceID="ObjectDataSource1"
OnRowDataBound="browseMethod"
AllowPaging="True" onselectedindexchanged="GridView1_SelectedIndexChanged">
<Columns>
<asp:BoundField DataField="SerialNumber" HeaderText="SerialNumber"
InsertVisible="False" ReadOnly="True" SortExpression="SerialNumber"
Visible="False" />
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title" />
<asp:BoundField DataField="Author" HeaderText="Author"
SortExpression="Author" />
<asp:BoundField DataField="cardNumber" HeaderText="cardNumber"
SortExpression="cardNumber" Visible="False" />
<asp:TemplateField HeaderText="Status">
<ItemTemplate>
<asp:Button ID="Button1" runat="server"
CommandArgument='<%# Eval("cardNumber") %>'
Text="Check Out" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
OldValuesParameterFormatString="original_{0}" SelectMethod="GetLibraryBooks"
TypeName="DataSet1TableAdapters.DataTable1TableAdapter">
</asp:ObjectDataSource>
</asp:Content>
その行の「cardNumber」値がNULLの場合に、「チェックアウト」ボタンをラベル(「チェックアウト」)に変更できるようにしたい。また、各ボタンが呼び出されたときにイベントを作成し、正しいシリアル番号を取得するにはどうすればよいですか?