Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET foreach不显示项目_C#_Asp.net - Fatal编程技术网

C# ASP.NET foreach不显示项目

C# ASP.NET foreach不显示项目,c#,asp.net,C#,Asp.net,当我在DateTimePicker中选择Date时,它调用的是公共ActionResult IndexDateTime?测验它会将一些项目返回到视图中,但这些项目不会出现在索引中。这似乎不起作用,我不确定为什么: <h1>Items</h1> @foreach (var item in Model) { <br />@item.Date } 控制器: public class HomeController : Controller { //

当我在DateTimePicker中选择Date时,它调用的是公共ActionResult IndexDateTime?测验它会将一些项目返回到视图中,但这些项目不会出现在索引中。这似乎不起作用,我不确定为什么:

<h1>Items</h1>
@foreach (var item in Model)
{
<br />@item.Date
}
控制器:

public class HomeController : Controller
{
    //
    // GET: /Home/
    public ActionResult Index()
    {
        List<Table> temp = new List<Table>();
        return View(temp);
    }

    [HttpPost]
    public ActionResult Index(DateTime? test)
    {
        masterEntities m = new masterEntities();
        List<Table> temp = m.Table.Where(key => key.Date == test).Select(key => key).ToList();
        return View(temp);
    }
}
Index.cshtml:

@model IEnumerable<DatePicker.Models.Table>

@{
ViewBag.Title = "Index";
}
<script src="~/Scripts/jquery-2.2.0.min.js"></script>
<script src="~/Scripts/moment.min.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
<script src="~/Scripts/bootstrap-datetimepicker.min.js"></script>

<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
<link href="~/Content/bootstrap-datetimepicker.min.css" rel="stylesheet" />

<div class="container">
<div class="row">
    <div class='col-sm-6'>
        <div class="form-group">
            <div class='input-group date' id='datetimepicker1'>
                <input type='text' class="form-control" />
                <span class="input-group-addon">
                    <span class="glyphicon glyphicon-calendar"></span>
                </span>
            </div>
        </div>
    </div>

    <script type="text/javascript">
        $('#datetimepicker1').datetimepicker({ useCurrent: false });
        $('#datetimepicker1').on("dp.hide", function (e) {
            //var temp = $('#datetimepicker1').data('DateTimePicker').date().format('YYYY-MM-DD HH:mm')
            $.ajax({
                url: "/Home/Index",
                type: "POST",
                data: { test: $('#datetimepicker1').data('DateTimePicker').date().format('YYYY-MM-DD HH:mm') },
                //data: {test: temp },
            });
        });
    </script>
</div>
</div>
<h1>Items</h1>
@foreach (var item in Model)
{
<br />@item.Date
}

首先,向视图发送一个空列表:

List<Table> temp = new List<Table>();
return View(temp);
但是你不能用这些东西做任何事。您基本上忽略了来自AJAX请求的响应

所以。。。数据不会显示,因为您没有编写任何代码来显示数据。AJAX请求应该具有某种回调函数来处理返回的响应:

$.ajax({
    url: "/Home/Index",
    type: "POST",
    data: { test: $('#datetimepicker1').data('DateTimePicker').date().format('YYYY-MM-DD HH:mm') },
    //data: {test: temp },
    success: function (data) {
        // do something with the response here
    }
});
你如何处理回复取决于你自己。是JSON吗?HTML?基于服务器端代码,它看起来像是HTML。所以你可以把它放到页面上的一个元素中。也许是这样的:

$('#someElement').html(data);
这只是一个例子,当然需要一个您可以识别的元素来保存响应。你可以用这个反应做很多其他的事情

然而,需要注意的一点是,您的响应似乎是整个页面。它包括脚本标记、CSS的链接标记以及客户机上已有的各种标记。因此,将整个页面放在一个元素中是行不通的


您可能只想返回此AJAX响应的部分视图。或者,不使用AJAX,只需导航到操作即可获取整个页面。

首先向视图发送一个空列表:

List<Table> temp = new List<Table>();
return View(temp);
但是你不能用这些东西做任何事。您基本上忽略了来自AJAX请求的响应

所以。。。数据不会显示,因为您没有编写任何代码来显示数据。AJAX请求应该具有某种回调函数来处理返回的响应:

$.ajax({
    url: "/Home/Index",
    type: "POST",
    data: { test: $('#datetimepicker1').data('DateTimePicker').date().format('YYYY-MM-DD HH:mm') },
    //data: {test: temp },
    success: function (data) {
        // do something with the response here
    }
});
你如何处理回复取决于你自己。是JSON吗?HTML?基于服务器端代码,它看起来像是HTML。所以你可以把它放到页面上的一个元素中。也许是这样的:

$('#someElement').html(data);
这只是一个例子,当然需要一个您可以识别的元素来保存响应。你可以用这个反应做很多其他的事情

然而,需要注意的一点是,您的响应似乎是整个页面。它包括脚本标记、CSS的链接标记以及客户机上已有的各种标记。因此,将整个页面放在一个元素中是行不通的


您可能只想返回此AJAX响应的部分视图。或者,不使用AJAX,只需导航到操作即可获得整个页面。

我认为AJAX在IndexDateTime调用公共ActionResult?测试,这些数据应该出现在索引上。如果我只使用ajax,我应该如何从EntityFramework获取数据?@A191919:ajax正在调用该操作。但你没有对那个请求的结果做任何事。服务器端代码无法修改已发送到浏览器的页面。要做到这一点,您必须编写客户端代码。我认为Ajax调用公共ActionResult IndexDateTime?测试,这些数据应该出现在索引上。如果我只使用ajax,我应该如何从EntityFramework获取数据?@A191919:ajax正在调用该操作。但你没有对那个请求的结果做任何事。服务器端代码无法修改已发送到浏览器的页面。要做到这一点,您必须编写客户端代码。