asp mvc 2部分渲染

时间:2011-01-28 09:55:00

标签: jquery asp.net-mvc-2

我想让某些控件偏离一些例子。 她的代码:

<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 =报告),但我没有看到它。 仅举例来说,无法理解我错在哪里?

和控件ExcelToHtml.ascx:

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

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

3 个答案:

答案 0 :(得分:0)

首先,我只是想指出,当它与动作名称相同时,你不需要指定视图名称......

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

其次,要检查您的机制是否有效,只需在部分视图上放置一个占位符而不用其他内容......

<p>Hello World</p>

我认为您很可能会在div中看到“Hello World”。

这导致了下一点 - 您可以共享视图的代码 - 因为我认为错误很可能就在那里。

答案 1 :(得分:0)

我的建议是将日期时间作为json返回,如果这就是你需要返回的那些?

但是,让我们开始吧。

  1. 选择日期时是否会调用ExcelToHtml方法?您是否尝试在那里设置断点以查看它是否被调用?
  2. ExcelToHtml的部分视图有什么作用?我没有看到你试图在$ .ajax的成功事件中做任何事情。您可能应该这样做:$('#report').html(response);
  3. 试一试。如果 1 为真,并且 2 中会发生什么,请告诉我。

答案 2 :(得分:0)

在你的jQuery改变中:

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

成:

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

看看你现在是否返回了实际的HTML并插入到你的DIV中