0

だから私はいくつかのデータを収集するフォームを持っています

jQuery ui lib を使用してフォームを作成しています。これは、次の html から構築されます。

<div id="dialog-form" title="form name">
<form>
<fieldset>
<label for="opis_naziv">Kratak opis: </label>
<input type="text" name="opis" id="opis_naziv" value="" class="text ui-widget-content ui-corner-all" /><br />
<div id='jqxDDHitnost'></div>
<label for="opis_sadrzaj">Puni opis: </label><br />
<textarea  cols="76" name="opis_sadrzaj" id="opis_sadrzaj" rows="10" class="textarea ui-widget-content ui-corner-all" ></textarea><br />
<label for="dodatak">Dodaj datoteku (do 4MB): </label>
<input type="file" name="dodatak" id="dodatak" value="" class="file ui-widget-content ui-corner-all" /><br />
</fieldset>
</form>
</div>

そしてそれを初期化するためのこのJavaScript:

$("#dialog-form").dialog({
                autoOpen: false,
                height: 600,
                width: 700,
                modal: true,
                buttons: {
                    "Kreiraj": function () {
                       //code needed
                    },
                    "Odustani": function () {
                        $(this).dialog("close");
                    }
                }
            });

サーバー側に C# コードがあり、フォーム内のすべてのデータを収集してサーバーに送信する方法を知りたいです。

問題はファイルのアップロードです。残りの送信方法はわかりますが、ファイルについてはわかりません。

4

2 に答える 2

1

これは、ボタンクリックのコールバック関数で、次の手順を実行してデータをサーバーに送信できることをお勧めします。

  1. フォーム コントロールの名前と値/ID 値のペアを含む XML 文字列を準備します (例: "<field id='opis_naziv' value=" + $('#opis_naziv').val() + "/>")。

  2. runat="server" 属性を使用して、非表示のコントロール (テキスト ボックスなど) に XML 文字列を格納します。

  3. runat="server" 属性を使用してボタン コントロールのクリックをトリガーします。これにより、コントロールがボタンのサーバー クリック イベントに渡されます。このボタンでは、コントロールの上から XML 文字列にアクセスし、解析して値を使用できます。

サーバー側の操作を実行するには、ボタンをクリックして WebMethod を呼び出すことを個人的にお勧めします。

于 2013-05-28T16:09:55.940 に答える
0

最後に、jQuery Form Pluginを使用して、すべての問題を解決しました。オプションについて教えてくれた Shant に感謝しrunat="server"ます。

于 2013-06-12T15:54:48.767 に答える