0

モーダルボックスにテキストボックス値が割り当てられた後、コードビハインドでテキストボックス値を取得する方法は?

これはモーダルボックスがページにどのように表示されるかです:

<div id="dialog-form" title="Modal Box">
    <asp:TextBox ID="Textbox1" runat="server" ReadOnly="True">   
    <asp:Button ID="Save_Button" runat="server" Text="Save"></asp:Button>        
</div>

に値を割り当てるために、Textbox1クリックされた LinkBut​​ton に基づいてコード ビハインドを使用して、Gridview の LinkBut​​ton に Javascript 関数をアタッチします (コードはここには示されていません)。

Dim myLinkButton As LinkButton    
For i As Integer = 0 To GV1.Rows.Count - 1
  myLinkButton = DirectCast(GV1.Rows(i).Cells(1).FindControl("LinkButton"), LinkButton)
  myLinkButton.Attributes.Add("onclick", "shopModalPopup('" + .Rows(i).Cells(0).Text & "'); return false;")
Next

Rows(i).Cells(0)は Gridview の最初の列で、" ID" です。これは、Linkbutton がクリックされている間、IDに割り当てられます。Textbox1

Javascript コードは、Gridview コードと同じページにあります。

<script>
var grid_modal_options = {
                    height: 450,
                    width: 550,
                    modal: true
                };

function shopModalPopup(id) {
                    var DataField = id;
                    grid_modal_options.open = function () {
                        $('#dialog-form #Textbox1').val(DataField);
                    };

                    $("#dialog-form").dialog(grid_modal_options);
                    $("#dialog-form").parent().appendTo('form:first');
                }
</script>

モーダル ボックスの [保存] ボタンをクリックするとTextbox1、コード ビハインドで値を取得できません。常に null 値を返します。どうやってするか?どうもありがとうございました。

4

2 に答える 2

1

これを読んで下さい

http://www.codeproject.com/Articles/37090/JQuery-UI-Dialog-with-ASP-NET-empty-post-values

問題は、ダイアログのdivがフォームの外に移動することである可能性があると思います。上記の参照を使用するか、別の非表示の入力を定義して、同じ値で非表示の入力を更新することで解決できます。

 $('#dialog-form #Textbox1').val(DataField);
 $('hiddenfield').val(DataField);

次に、非表示フィールドから値を読み取ります

それが最良の答えかどうかはわかりませんが、迅速な解決策として機能する可能性があります

于 2012-04-24T03:02:13.537 に答える
0

なくても機能しますReadonly="true"か?もしそうなら、あなたの<asp:textbox>で、 に置き換えReadonly="true"てくださいEnabled="false"

Readonlyこれをテストしたことはありませんが、過去にこのような問題を引き起こしたことを思い出しました。

于 2012-04-24T03:04:44.260 に答える