Вы можете использовать jqmodal ajax с веб-формами - PullRequest
0 голосов
/ 24 сентября 2011

Есть ли способ использовать свойство jjmodal ajax с веб-формами asp.net?

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

1 Ответ

1 голос
/ 24 сентября 2011

jqModal не зависит от серверной технологии, что означает, что его можно использовать с абсолютно любым языком на сервере, включая WebForms, при условии, что он указывает на URL-адрес на стороне сервера, который возвращает частичный html:

<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; }
    }
}
...