使用引导模式asp.net进行回发时,文本框为空

使用引导模式asp.net进行回发时,文本框为空,asp.net,twitter-bootstrap,twitter-bootstrap-3,Asp.net,Twitter Bootstrap,Twitter Bootstrap 3,我正在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"&

我正在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>

所有文本框显示空值。文本框中的任何用户类型。请建议如何修复它。这可能是因为UseSubmitBehavior=“false”,但如果我不使用它,则控件不会转到onclick事件。

使用dotnet文本框,或向输入字段添加id和runat server标记。

您没有看到发布的值的原因是您的值没有被发布。引导模态管理器使用“body”元素作为根元素,将模态附加到根元素。因此,您的modals现在位于'form'元素之外,并且这些值不会被发布回服务器

要解决此问题,请按如下所示更改“manager”属性的默认值:

// Note the manager is passed to the root form element. 
// Otherwise, the modals are taken out of the form and 
// values not posted back to the server
$.fn.modal.defaults.manager = $.fn.modalmanager.defaults.manager = 'body form:first';

编辑:这是假设您使用的是Steven Anderson是正确的,不会发布值,因为模式输入在表单之外

我使用javascript将模式输入的值复制到隐藏的asp.net控件中,从而解决了这个问题

我在modal的外部创建了一个隐藏的asp.net控件

<asp:HiddenField ID="MyHiddenControl" value="name" runat="server" />
因此,当我在模式窗口中单击“提交”时,回发将启动,文本框的值将复制到隐藏控件,我可以在代码隐藏中从隐藏控件读取值:

Protected Sub BtnSubmit_Click(sender As Object, e As EventArgs) Handles BtnSubmit.Click
Dim Something As String = MyHiddenControl.Value
End Sub

我只是有类似的问题。我通过使用jquery将模态元素移动到表单元素中来解决这个问题

   function init() {
        var element = $('#myModal').detach();
        $($("form")[0]).append(element);        
    }

    window.addEventListener('DOMContentLoaded', init, false);

请问Bootstrap3有没有不需要额外js组件的解决方案?我会先检查呈现的输出,看看模态是否在表单元素中。未过帐的值很可能是表单元素之外的模态。无论如何,我建议使用引导模式扩展,它是一个无缝的添加,为现有控件添加了更多的功能。我真不敢相信我花了1天的时间找到了这个答案!谢谢$(document).ready(function(){$.fn.modal.defaults.manager=$.fn.modalmanager.defaults.manager='body form:first';});你最终得到解决方案了吗?这是一个相当可怕的问题,人们会期望基本表单在弹出窗口中工作。但这是一个问题,不是一个不恰当的答案。谢谢@Krishanthadesilva可以复制脚本标记中的代码,或者如果没有脚本标记,可以在html末尾添加一个脚本标记,其中包含该代码。
<asp:Button ID="BtnSubmit" runat="server" Text="Submit" CssClass="btn btn-primary" OnClientClick="Javascript:DoCustomPost();" UseSubmitBehavior="false" />
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
   function init() {
        var element = $('#myModal').detach();
        $($("form")[0]).append(element);        
    }

    window.addEventListener('DOMContentLoaded', init, false);