小编Jay*_*Jay的帖子

mvc 4 IEnumerable检查它是否为null

我已经看过stackoverflow这个但是找不到我正在寻找的答案,它很简单.基本上我想知道如何检查我的IEnumerable变量是否为null,我的if语句只是嘲笑我并让变量通过.

这是场景,我有一个从数据库中提取的数据列表,这一点是一个过滤功能(所以没有[HttpPost])根据用户输入过滤内容.它检查的第一件事是评论数据库中的评论列表,如果这返回为空,我希望它检查评论数据库中的用户列表.

这是代码:

   var review = from m in _db.Reviews
                     select m;        

        if (!String.IsNullOrEmpty(searchString))
        {
            review = review.Where(s => s.review.Contains(searchString));
            if (review != null && review.Any())
            {
                return View(review);      
            }
            else
            {
                review = review.Where(s => s.user.Contains(searchString));
                return View(review);      
            }
Run Code Online (Sandbox Code Playgroud)

我已经搞砸了一下,if语句用于检查它是否为null,然后.any(),然后!= null现在两者,变量只是继续,笑着它.我运行调试器并把它放在几个点上.当我输入一个我知道不会返回结果的值时,这是调试器所说的评论值是:

"IEnumerable没有产生任何结果"

为了防止这种情况的可怜尝试,我甚至在if语句中删除了这句话.变量笑得那么难我发誓我可以通过我的扬声器听到它.

无论如何,如果我能得到最好的方法来做到这一点,为什么.会有饼干.

c# linq asp.net-mvc asp.net-mvc-4

7
推荐指数
1
解决办法
2336
查看次数

MVC日期时间列表未保存

我有一个简单的MVC4模型,可以添加DateTime.Now一个List<DateTime>()列表.

但是,当我这样做时EntityState.Modified,不会保留更改.我通过修改模型中的另一个属性调试了这个,并且保存得很好.

所以我真的不知道为什么不能保存.如果有人有任何想法,为什么它不会节省,这将是生命保护材料:

该模型:

public class Page
{
    public int Id { get; set; }
    public string PageURL { get; set; }
    public string Name { get; set; }
    public string Title { get; set; }
    public List<DateTime> Visits { get; set; }

    public Page()
    {
      Visits = new List<DateTime>();
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

private ApplicationDbContext db = new ApplicationDbContext();

   public ActionResult CookiePolicy()
   {
        var page = db.Pages.FirstOrDefault(c => c.PageURL == "cookiepolicy");

        page.Visits.Add(DateTime.Now); // this …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework asp.net-mvc-4

5
推荐指数
1
解决办法
801
查看次数

SignalR,将对象从 HUB 传递到客户端(MVC C#)

我环顾了其他问题,但他们似乎没有完全回答这个问题,我正在尝试通过 JSON 将对象传递给客户端 Javascript。我正在使用 Newtonsoft.Json 来简化这个过程,但我似乎无法收到该对象。

这是代码:

建立连接后,我在客户端 javascript 中使用 start().done() 调用集线器:

   //start comm with server
$.connection.hub.start().done(function () {
    console.log('Grabbing playlist data');
    Playlist.server.requestPlaylist();
});
Run Code Online (Sandbox Code Playgroud)

这将调用以下方法,该方法应该抓取对象并将其传回:

    public void requestPlaylist()
   {
       var playlistData = (from c in db.Playlist where c.ID > 0 select c).Include(h => h.Song).ToList();
       Playlist player = new Playlist();

       foreach (var item in playlistData)
       {
           player.ID = item.ID;
           player.Profile = item.Profile;
           player.Song.ID = item.Song.ID;
           player.Song.name = item.Song.name;
           player.upvotes = item.upvotes;
       }

       string jsonObject = JsonConvert.SerializeObject(player);


       Clients.All.recievePlaylist(jsonObject);
   }
Run Code Online (Sandbox Code Playgroud)

所以在这里,我正在搜索数据库,获取结果并将其存储到播放列表模型中,然后使用 newtonsoft.json 将模型转换为 …

javascript c# asp.net-mvc json signalr

2
推荐指数
1
解决办法
6445
查看次数

Angular CLI在错误的位置寻找路由器模块?“找不到router_module”

我有一个问题:

根据跟踪,我的代码正在错误的位置查找路由器模块,它应该在我的node modules\@angular文件夹中查找,但是在我的src\app\文件夹中查找,我该如何解决?

我怎么到这里

我已经使用angular cli安装了angular 2,当我使用路由器模块创建路由时,我将其导入为:

import { RouterModule } '@angular/router/src/router_module';
Run Code Online (Sandbox Code Playgroud)

然后像这样在我的路线中使用它:

export const routing = RouterModule.forRoot(APP_ROUTES, {enableTracing: true});
Run Code Online (Sandbox Code Playgroud)

现在,当它编译时,出现以下错误:

编译失败。

./src/app/app.routing.ts找不到模块:错误:无法解析

'C:\ path \ to \ src \ app中的'@ angular / router / src / router_module' <==重要部分?

@ ./src/app/app.routing.ts 3:0-84

@ ./src/app/app.module.ts

@ ./src/main.ts

@多webpack-dev-server / client?http:// localhost:4200 ./src/main.ts

我检查了它的 node module/@angular/router/src/router_module存在,确实如此...我真的很困惑

盎格鲁cli v1.0.1

角度v 4.4.6

angular-cli angular

2
推荐指数
1
解决办法
3747
查看次数

MVC C#奇怪的NullReference异常

我有点奇怪的错误让我感到有些困惑,所以让我画一下这幅画:

我有一个控制器,用房屋的评论更新数据库.如果房子不存在,它会创建一个,然后更新它.

所以这是房子不存在的代码:

if (checkHouse == null)
{
        var department = db.Universitys.Single(d => d.universityName == "NotSet");//make dynamic
        var hws = new House();
        hws.address1 = reviewmodelview.Address1;
        hws.address2 = reviewmodelview.Address2;
        hws.postCode = reviewmodelview.postCode;
        hws.noOfDisputes = 0;
        department.Houses.Add(hws);
        db.SaveChanges(); //created the house and saved the changes, now apply the review to it.

        var theHouse = db.Houses.Single(d => d.address1 == reviewmodelview.Address1);//findhouse
        var rvw = new Review(); //create review
        rvw.condition = reviewmodelview.condition;
        rvw.furniture = reviewmodelview.furniture;
        rvw.overall = reviewmodelview.overall;
        rvw.isApproved = false;
        rvw.review = reviewmodelview.review;
        rvw.user …
Run Code Online (Sandbox Code Playgroud)

c# entity-framework asp.net-mvc-4

1
推荐指数
1
解决办法
296
查看次数

C#获取32位uint的最后10位

我想要获得32位整数的最后10位,

基本上我所做的就是取一个数字并将其塞进前22位,我可以很好地提取出这个数字

int test = Convert.ToInt32(uIActivityId >> nMethodBits); //method bits == 10 so this just pushes the last ten bits off the range
Run Code Online (Sandbox Code Playgroud)

测试结果是我放在第一位的数字.

但是现在我很难过.所以我对你们的问题是.如何获得32位整数的最后十位?

c# c#-4.0

-2
推荐指数
1
解决办法
1314
查看次数