私はasp.netリピータコントロールに精通していません。私は、リピータ、量とskuに2つの列を持っています。ボタンをクリックすると、リピーターの行をループし、各量とスキューをメソッドに渡したいと思う。リピータでこの情報をどのように入手しますか?ASP.NETリピータ
答えて
クライアント側またはサーバー側?サーバー側を意味すると仮定すると、リピーターのOnItemDataBoundイベントを使用します。これは行ごとに1回ずつ実行され、行のデータはパラメータとして含まれます。
foreach(RepeaterItem item in repeaterControlID.Items)
{
var quantity = item.FindControl("quantityControlID");
var sku = item.FindControl("skuControlID");
}
またはそのような何か:ボタンクリックする方法で
のようにそれはあなたがあなたのItemTemplateにに「量」と「SKU」を表示しているかに依存して、様々なクラスを使用する方法を学ぶための素晴らしいリソースです。あなたのItemTemplateに投稿することができればそれはしかし役立つだろう
foreach(RepeaterItem item in Repeater1.Items)
{
string quantity = ((DataBoundLiteralControl)item.Controls[0]).Text;
string sku = ((DataBoundLiteralControl)item.Controls[1]).Text;
}
:あなたは<%# DataBinder.Eval(Container, "quantity") %>
構文を使用している場合、あなたはこのような何かを行うことができます。
何が悪い解決策!!!!!列が彼女の順序を変えたら!! –
あなたは、そのプロパティにアクセスするには、あまりにも「タイプ」あなたのコントロールしたいと思う...
foreach(RepeaterItem item in this.RptTest.Items){ string DdlTestValue = ((DropDown)item.FindControl("DdlTest")).SelectedValue; string TxtTestValue = ((TextBox)item.FindControl("TxtTest")).Text; }
おかげで、私は、MSDNで見えたが、例を好きではなかったです。 – jumbojs