私はDatalistコントロールとFormViewコントロールを持つaspxページを1つ持っています。 Datalistはすべてのレコードを表示し、FormViewは非表示になります。 FormViewはレコードの詳細を表示し、Datalistコントロールは表示されません。私がデータリストのレコードをクリックすると、Formviewに行き、選択したレコードを編集します。子LinkButtonコントロールをクリックしたときに、複数のレコードを持つDatalistコントロールの子ラベルコントロール値にアクセスできますか?
レコードIDをクリックイベントに渡して、データベース内のレコードを選択し、詳細をFormviewに表示するにはどうすればよいですか?
同じクライアントIDを持つ複数のコントロールがあり、クライアントIDを一意にするために、ランタイムによって末尾に番号が追加されます。ここで
は、私は背後にあるコードからアクセスしたいコントロールである:ここでは
<asp:Label ID="lHideAndSeek" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IdString") %>' CssClass="hideAndSeek">
は、私は会社の詳細を選択するために使用する制御である。ここでは
<asp:LinkButton ID="btnSelectCompany" runat="server" CausesValidation="false"
onclick="btnSelectCompany_Click"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:LinkButton>
は私がしたい場所の背後にあるコードでありますリンクボタンがクリックされたときにラベルコントロールにアクセスし、4をハードコーディングする代わりにSelectCompany()に渡します。
protected void btnSelectCompany_Click(object sender, EventArgs e)
{
DataList1.Visible = false;
FormView1.ChangeMode(FormViewMode.ReadOnly);
using (jpEntities myEntities = new jpEntities())
{
FormView1.DataSource = myEntities.SelectCompany(4);
FormView1.DataBind();
}
FormView1.Visible = true;
}
ありがとうございました!
ありがとうございました。以前はeパラメータでコマンド引数を試していました。 – tss
それはうまくいきませんでした。 ^^ –