你可以将 jqmodal ajax 与 Web 表单一起使用吗

发布于 2024-12-06 20:43:11 字数 377 浏览 4 评论 0原文

有没有办法将 jqmodal 的 ajax 属性与 asp.net webforms 一起使用?

<script type="text/javascript">
    $(document).ready(function() {
        $('#Button1').click(function() {
        $('#modalContent').jqm({
            ajax: "~/ShelterCreateForm.ascx"
        });
        $('#modalContent').jqmShow(this);
        return false;
    });
});
</script>

is there a way to use jqmodal's ajax property with asp.net webforms?

<script type="text/javascript">
    $(document).ready(function() {
        $('#Button1').click(function() {
        $('#modalContent').jqm({
            ajax: "~/ShelterCreateForm.ascx"
        });
        $('#modalContent').jqmShow(this);
        return false;
    });
});
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

长梦不多时 2024-12-13 20:43:11

jqModal 与服务器端技术无关,这意味着它可以与服务器上的任何语言一起使用,包括 WebForms,条件是它指向返回部分 h​​tml 的服务器端 url:

<script type="text/javascript">
    $(function() {
        $('#Button1').click(function() {
            $('#modalContent').jqm({
                ajax: '<%= ResolveUrl("~/Foo.ashx") %>'
            });
            $('#modalContent').jqmShow(this);
            return false;
        });
    });
</script>

以及返回此部分的服务器端 url (Foo.ashx) 可能是一个通用处理程序,如 这个答案

public class FooHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        context.Response.Write(RenderPartialToString("ShelterCreateForm.ascx"));
    }

    private string RenderPartialToString(string controlName)
    {
        var page = new Page();
        var control = page.LoadControl(controlName);
        page.Controls.Add(control);

        using (var writer = new StringWriter())
        {
            HttpContext.Current.Server.Execute(page, writer, false);
            return writer.ToString();
        }
    }

    public bool IsReusable
    {
        get { return false; }
    }
}

jqModal is server side technology agnostic meaning that it can be used with absolutely any language on the server including WebForms in condition that it points to a server side url which returns the partial html:

<script type="text/javascript">
    $(function() {
        $('#Button1').click(function() {
            $('#modalContent').jqm({
                ajax: '<%= ResolveUrl("~/Foo.ashx") %>'
            });
            $('#modalContent').jqmShow(this);
            return false;
        });
    });
</script>

And the server side url that returns this partial (Foo.ashx) might be a generic handler as shown in this answer:

public class FooHandler : IHttpHandler
{
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/html";
        context.Response.Write(RenderPartialToString("ShelterCreateForm.ascx"));
    }

    private string RenderPartialToString(string controlName)
    {
        var page = new Page();
        var control = page.LoadControl(controlName);
        page.Controls.Add(control);

        using (var writer = new StringWriter())
        {
            HttpContext.Current.Server.Execute(page, writer, false);
            return writer.ToString();
        }
    }

    public bool IsReusable
    {
        get { return false; }
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文