9

次のように、asp.netページでブートストラップモーダルを使用しています。

   <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
            aria-hidden="true">
<asp:UpdatePanel ID="ModalUpdatePanel" runat="server" UpdateMode="Conditional">
    <Triggers>
        <asp:AsyncPostBackTrigger ControlID="btnRegister" EventName="Click" />
    </Triggers>
    <ContentTemplate>
        <p>

textboxes here


 <div class="popup-footer-wrapper">
                <div class="popup-footer-left">
                    <%-- <input type="submit" class="login-button" name="login-button" value="Sign Up">--%>
                    <asp:Button ID="btnRegister" runat="server" CssClass="login-button" OnClick="btnRegister_Click"
                        UseSubmitBehavior="false" Text="<%$ Resources: HRGELoggedOutMaster, Signup %>" />

                </div>
            </div>

        </p>
    </ContentTemplate>
</asp:UpdatePanel>
</div>

私はそれが中に見えます

  protected void btnRegister_Click(object sender, EventArgs e)

すべてのテキストボックスに空の値が表示されます。ユーザーがテキストボックスに入力したもの。それを修正する方法を提案してください。UseSubmitBehavior="false" が原因である可能性がありますが、使用しないとコントロールが onclick イベントに移動しません。

4

4 に答える 4

2

スティーブン・アンダーソンは正しく、モーダル入力はフォームの外側にあるため、値は投稿されません。

javascriptを使用してモーダル入力の値を非表示のasp.netコントロールにコピーすることで、この問題を回避できました。

モーダルの外側に隠し asp.net コントロールを作成します。

<asp:HiddenField ID="MyHiddenControl" value="name" runat="server" />

送信したいモーダルテキストボックス:

<asp:TextBox ID="FormYourName" CssClass="form-control" runat="server"/>`

私のモーダル送信ボタンは次のようになります。

<asp:Button ID="BtnSubmit" runat="server" Text="Submit" CssClass="btn btn-primary" OnClientClick="Javascript:DoCustomPost();" UseSubmitBehavior="false" />

私の JavaScript 関数は次のようになります。

function DoCustomPost()
{
var ModalTextBox = document.getElementById("FormAmenity");
var HiddenTextBox = document.getElementById("MyHiddenControl");
// This is the value I want to Post
MyHiddenControl.value = ModalTextBox.value
}

したがって、モーダル ウィンドウで [送信] をクリックすると、ポストバックが開始され、テキスト ボックスの値が非表示のコントロールにコピーされ、コード ビハインドで非表示のコントロールから値を読み取ることができます。

Protected Sub BtnSubmit_Click(sender As Object, e As EventArgs) Handles BtnSubmit.Click
Dim Something As String = MyHiddenControl.Value
End Sub
于 2015-09-07T02:56:26.293 に答える