asp:使用ajax更新占位符内容

我有一个 asp:placeholder,它在文档的负载上保留文字文本。使用ajax,我需要更新文字。我挖掘了一些,但没有找到答案。


这是我的 asmx 代码:


<div class="modal fade in" id="yoklama" tabindex="-1" aria-hidden="true" style="display: none; padding-right: 17px;">

    <div class="modal-dialog">

        <div class="modal-content">

            <div class="modal-header">

                <button type="button" class="close" data-dismiss="modal" aria-hidden="true"></button>

                <h4 class="modal-title">Yoklama Kayıtları</h4>

            </div>

            <div class="modal-body">

                <asp:PlaceHolder runat="server" ID="tbl_pdcr_main"></asp:PlaceHolder>

            </div>

            <div class="modal-footer">

                <button type="button" class="btn dark btn-outline" data-dismiss="modal">Close</button>

                <%--<button type="button" class="btn green">Save changes</button>--%>

                <asp:HiddenField runat="server" ID="hdf_pdcr_reg" />

            </div>

        </div>

    </div>

</div>

这是我的 JavaScript 代码:


$.ajax({

    url: '/Staff/PDX.aspx/GetPDCRRecords',

    method: 'post',

    contentType: 'application/json',

    data: '{r_id:' + yil + '}',

    dataType: 'json',

    success: function (data) {

        $('#<%=lbl_pdcx_y_gec.ClientID%>').text(data.d.YGec);

        $('#<%=lbl_pdcx_y_msiz.ClientID%>').text(data.d.YMaz);

        $('#<%=lbl_pdcx_y_rap.ClientID%>').text(data.d.YRap);

        $('#<%=lbl_pdcx_y_terk.ClientID%>').text(data.d.YTerk);

        $('#<%=lbl_pdcx_y_diger.ClientID%>').text(data.d.YDiger);


        $('#<%=tbl_pdcr_main.ClientID%>').replaceWith(data.d.PDCRLog);

    },

    error: function (error) {

        alert(error);

    }

});

感谢您的帮助。


FFIVE
浏览 78回答 2
2回答

慕码人2483693

您的问题来自这样一个事实:PlaceHolder 不呈现任何 HTML,因此您的 id 搜索无法找到它。您可以尝试使用面板。

阿晨1998

如果您使用 ASP.NET Web 窗体框架,我建议不要依赖Ids,因为框架会向它们添加一些前缀到生成的客户端代码。您可以使用网络浏览器的开发人员工具检查我是否正确查看生成的代码。我建议使用该CssClass属性,但是,这样的方法不起作用:<asp:PlaceHolder runat="server" ID="tbl_pdcr_main" CssClass="tbl-pdcr-main"></asp:PlaceHolder>由于PlaceHolder服务器控件没有任何可见的输出,并且当我们在运行时添加控件时用作占位符,因此它不会生成 HTML div 等我要做的就是向某些 HTML 元素添加一个额外的 CSS 类,它可以作为div示例(CssClass也应该有效,但对于不同的 asp 元素)<div class="modal-body tbl-pdcr-main">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ...所以success你的ajax代码的一部分可以像下面这样工作:success: function (data) {&nbsp; &nbsp;$('.tbl-pdcr-main').text(data.d.YGec);},
打开App,查看更多内容
随时随地看视频慕课网APP