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>
4

1 回答 1

1

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>

并且返回此部分 ( Foo.ashx) 的服务器端 url 可能是一个通用处理程序,如本答案所示:

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; }
    }
}
于 2011-09-24T19:56:29.010 回答