小编Joa*_*oog的帖子

没有Skip的C#对DocumentDB的分页

我想知道是否有任何方法可以使用或不使用他们的Linq提供程序在C#中对DocumentDB实现分页?

场景:我有一个支持分页的API,用户在页面中发送他们想要查看的pageSize,例如:

public virtual async Task<HttpResponseMessage> Get(int? page = DefaultPage, int? pageSize = DefaultPageSize)

然后,我使用这些参数使用以下代码对数据访问层中的数据进行分页:

return query.Skip((pageNumber - 1) * pageSize).Take(pageSize);

"那么问题是什么?",你可能会问.嗯,这种方法和代码在使用EF和SQL时非常有效.问题是我想开始使用DocumentDB,但他们的Linq实现不支持Skip.我见过的唯一例子包括使用TOP关键字或延续令牌,这与我适合允许用户发送pageNumber和pageSize.

是否有任何实现仍然允许我的用户提供pageNumberpageSize在请求中?

c# linq pagination azure-cosmosdb

7
推荐指数
3
解决办法
5216
查看次数

将Visual Studio升级到15.5后缺少System.Net.Http

我们有一个现有的解决方案,包括一个ASP.NET MVC项目和一堆库,所有项目都是针对性的.NET 4.6.1.

将Visual Studio从15.3升级到15.5后,我收到一些编译错误,指出它无法找到System.Net.Http程序集.

类型'HttpResponseMessage'在未引用的程序集中定义.您必须添加对程序集'System.Net.Http,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用.

我阅读了发行说明,但我找不到任何会导致此问题的内容.为什么将Visual Studio从15.3升级到15.5会导致这些错误?

.net c# asp.net-mvc dotnet-httpclient visual-studio-2017

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

单步执行断点时出现编译错误

每当我遇到断点并尝试跨过它或进入它时,我就会开始遇到奇怪的错误。

我收到消息:

进行了无法编译的编辑。在修复编译错误之前,无法继续执行。

错误图片

这些项目编译得很好,当我没有遇到任何断点时,这种情况就不会发生。我使用的是 Visual Studio 2019 16.3.1,这种情况发生在我的所有解决方案中,而不仅仅是一个。我已经尝试过以下方法,但没有任何效果:

  • 清除我的 .vs 文件夹
  • 重新启动 Visual Studio
  • 重新启动计算机
  • 清洁重建
  • 删除所有断点并再次添加它们
  • 所有建议的答案都在这里,但没有一个有效。
  • 升级到16.3.2
  • 修复 Visual Studio

我还可以尝试什么?

更新:我遵循@HansPassant 的建议并禁用了“编辑并继续”,这解决了最紧迫的问题,但这似乎是一个棘手的解决方法。

.net c# visual-studio-debugging visual-studio-2019

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

在ruby中使用2D数组for循环的麻烦

我学过C++,Java,现在我正在学习Ruby.
但对我而言,很难适应ruby中的迭代.

n = 4
arys = Array.new(3, Array.new(n+1, 0))

for i in 1..2
    for j in 1..n
        arys[i][j] = (i-1)*n+j
    end
end

p arys
Run Code Online (Sandbox Code Playgroud)

上述代码的输出如下

[[0, 5, 6, 7, 8], [0, 5, 6, 7, 8], [0, 5, 6, 7, 8]]
Run Code Online (Sandbox Code Playgroud)

我认为这就像C中的代码一样

for(int i = 1; i<=2; i++)
   for(int j = 1; j<=n; j++)
       arys[i][j] = (i-1)*n+j
Run Code Online (Sandbox Code Playgroud)

因此,我预计输出会像
[[0, 0, 0, 0, 0], [0, 1, 2, 3, 4], [0, 5, 6, 7, 8]]

上面两个代码之间的区别是什么?

ruby for-loop multidimensional-array

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

创建DropDownListFor使用来自List &lt;string&gt;的字符串

我觉得这应该很简单,但是这里没有找到说明在MVC中使用dropdownlistfor的指南。

我在用户类的方法中有一个简单的名称列表:

public List<string> getUsersFullNames()
    {
        return (from da in db.Dat_Account
                join ra in db.Ref_Account on da.AccountID equals ra.AccountID
                select ra.FirstName + " " + ra.Surname).ToList();
    }
Run Code Online (Sandbox Code Playgroud)

我想在下拉列表中显示每个名称,以便可以选择一个名称。

我试图使此工作正常,但没有成功。

我的控制器:

[Authorize]
    public ActionResult ManageUserAccounts()
    {
            ViewBag.UserList = oUsers.getUsersFullNames();
            return View();
    }
Run Code Online (Sandbox Code Playgroud)

我的模特:

public class ManageUserAccountsViewModel
{
    [Display(Name = "Users")]
    public List<SelectListItem> UserList { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我的看法:

Html.DropDownListFor(model => model.UserList, new SelectList(oUsers.getUsersFullNames(), "Select User"));
Run Code Online (Sandbox Code Playgroud)

我对asp.net MVC相当陌生,因为我过去一直使用Webforms。有谁知道这是否可行或显示方式吗?

谢谢,

c# asp.net asp.net-mvc html.dropdownlistfor

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