1

私は1週間ほどasp.netとc#でプログラミングしてきましたが、ご容赦ください。

次のような asp c# でレシート ジェネレーターを実行しようとしています。

レシート

青いボタンは、次の JavaScript 関数を使用してテーブルに新しい行を追加します。

function nuevo(){
$("#tablaUsuarios").append("<tr>" +
    "<td><select name='listaConceptos' id='listaConceptos' runat='server'></select></td>" +
    "<td><input name='precio' id='precio' type='text' size='15' runat='server' readonly/></td>" +
    "<td><input type='button' value='Eliminar' onclick='eliminar(this)' class='btn btn-danger eliminar'></td>"+
    "</tr>")
}

ただし、実行時にjavascriptを介してコントロールを追加しているため、DropDownListコントロールの場合のようにコードビハインドからそれらにアクセスすることはできません.runat = "server"を追加しても、実行時にそれらを有効にすることはできません。サーバーコントロールにアクセスする方法はありますか? コントロールにアクセスして、DropDownList のようにデータソースを設定したり、データソースを設定したりできますか? または、DDL を動的に生成して入力する他の方法はありますか?

データベースから必要なすべてのデータを非表示の DropDownList に入力し、作成時にそのすべてのプロパティを他の選択コントロールにコピーすることを考えましたが、DataValueFields と TextFields を使用して DDL のように動作するかどうかはわかりません。

4

2 に答える 2

1

以下のリンクをチェックしてください。 ASP.NETコードビハインド内のクライアント側の動的コントロールへのアクセス

次のように、サーバー側で名前を使用してフォーム要素にアクセスできるはずです。

var val = Request.Form["YOUR_CONTROLS_NAME"];

ただし、追加するコントロールに一意の名前を付ける必要があります。

于 2012-12-12T00:12:19.340 に答える
0

クライアント側とサーバー側のコードは 2 つの異なるものです。私の知る限り、あなたが求めていることを行う方法はありません。

たとえば、データベースからドロップダウン リストを作成する場合にできることは、非表示のフィールドまたはコントロールにデータをロードしてから、javascript を使用してデータを作成することです。

私にはかなり複雑に聞こえますが、醜いポストバックが必要ない場合は、サーバー側ですべてを実行し、更新パネルを使用する方が簡単かもしれません。

プロジェクトを完全に見なければ、何が最適かを判断するのは困難です。

于 2012-12-12T00:07:11.677 に答える