asp mvc 2 частичный рендеринг - PullRequest
0 голосов
/ 28 января 2011

Я хочу частично передать некоторые элементы управления, например.мой мой код:

<script type="text/javascript">

        $("#datetime").datepicker({ dateFormat: 'dd.mm.yy', onSelect: function (dateText, inst) {
            $.ajax({
                type: 'POST',
                data:
                {
                    datetime: dateText
                },
                url: '<%= VirtualPathUtility.ToAbsolute("~/ExcelToHtml") %>',
                async: true,
                success: function (response) { $('#report').html(response) }
            });
        }
        });
</script>
<div id="report">   
</div>

здесь код сервера:

public PartialViewResult ExcelToHtml(DateTime datetime) {
        ViewData["datetime"] = datetime;
        return PartialView("ExcelToHtml");
    }

сейчас, я хочу увидеть свою дату в div (id = report), но я ее не вижуэто просто пример, не могу понять, где я не прав?

и элемент управления ExcelToHtml.ascx:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

<% ViewData["datetime"].ToString(); %>

Ответы [ 3 ]

0 голосов
/ 28 января 2011

Мое предложение было бы просто вернуть дату и время в формате json, если это все, что вам нужно вернуть?

  1. Ваш метод ExcelToHtml вызывается при выборе даты?Вы пытались установить точку останова, чтобы увидеть, вызывается ли она?
  2. Что есть в Partial View ExcelToHtml?Я не вижу, что вы пытаетесь что-то сделать в случае успеха $ .ajax.Там вы, вероятно, должны сделать: $('#report').html(response);

Попробуйте это.Дайте мне знать, если 1 верно и что происходит в 2 .

0 голосов
/ 28 января 2011

В вашем jQuery изменить:

$('#report').html(response)

в

$('#report').html(response.responseText)

И посмотрите, получите ли вы теперь настоящий HTML-код, возвращенный и вставленный в ваш DIV

0 голосов
/ 28 января 2011

Во-первых, я просто хотел указать, что вам не нужно указывать имя представления, когда оно совпадает с именем действия ...

public PartialViewResult ExcelToHtml(DateTime datetime) {
    ViewData["datetime"] = datetime;
    return PartialView();
}

Во-вторых, чтобы проверить, работает ли ваш механизм, просто поместите заполнитель в частичное представление, ничего больше ...

<p>Hello World</p>

Я думаю, что вы, скорее всего, увидите "Hello World", загруженный в div.

Это приводит к следующему пункту - можете ли вы поделиться кодом для представления - так как я думаю, что ошибка, скорее всего, будет там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...