我在ASP.NET MVC 3站点中的很多页面中使用数据表.他们使用服务器端分页,现在我想基于列标题实现排序.数据表带有iSortCol_0 哪个是单击列的int值.
我不喜欢这种方法,因为查询最终会像:
if(iSortCol_0 == 0)
{
// query
// OderBy(x => x.CarName)
}
Run Code Online (Sandbox Code Playgroud)
然后对每列重复这一过程(加上每个列的else子句按降序排序).所以我改变了我的方法,现在将列名传递给服务器.
我想出了以下内容:
Expression<Func<vw_Car, string>> sortExpression1 = null;
Expression<Func<vw_Car, int>> sortExpression2 = null;
switch(columnToSort)
{
case "InvoiceNo": sortExpression1 = x => x.CarNo; break;
case "ClientNumber": sortExpression1 = x => x.ForeName; break;
case "ClientName": sortExpression1 = x => x.SurName; break;
default: sortExpression2 = x => x.Age.Value; break;
}
// start of query
.OrderByDir(sortDirection, sortExpression1 , sortExpression2)
Run Code Online (Sandbox Code Playgroud)
现在OrderByDir看起来如下:
public static IOrderedQueryable<T> OrderByDir<T>(this IQueryable<T> source, …Run Code Online (Sandbox Code Playgroud) 我正在开发一个新的MVC 5应用程序.我的项目中有一个Integration Layer,我有一个外部Web服务的服务引用.
然后我创建了一个有一些方法的接口 - 然后我有一个服务类,如下所示:
public class MyService : IMyService
{
private readonly ExternalServiceClient _serviceClient;
public MyService()
{
_serviceClient = new ExternalServiceClient ("WSHttpBinding_IMyService");
}
public string GetName(Coordinate[] coordinates)
{
string name = string.Empty;
name = _serviceClient.GetInformationsForCoordinates(coordinates);
return name;
}
Run Code Online (Sandbox Code Playgroud)
注意这是剥离的,实际上会添加带有异常处理的try catch块等
我有一个Integration.Tests项目,用于集成层的单元测试.测试GetName方法的最佳实践方法是什么?我是否应该在测试项目中向服务的端点添加另一个服务引用,或者如果我们使用Moq,我可以创建一个实际服务的实例,例如Web层将调用 - 以及如何完成?
我想用js从字符串中去除无效字符。
我的正则表达式当前如下:
var newString = oldString.replace(/([^a-z0-9 ]+)/gi, '');
Run Code Online (Sandbox Code Playgroud)
即找到az或0-9以外的任何内容以及与大小写无关的空格,并替换为空-但是我也想允许使用下划线(_),连字符(-)和点(.)。
我尝试按以下方式更新我的正则表达式,但未按预期工作-进行更改后,我发现带有方括号()的字符串没有被剥离?
var newString = oldString.replace(/([^a-z0-9 .-_]+)/gi, '');
Run Code Online (Sandbox Code Playgroud)
我是否缺少简单的东西?
我的 Login.cshtml.cs 代码文件中有以下内容:
登录.cshtml.cs
public class LoginModel : PageModel
{
public string ReturnUrl { get; set; }
public bool EnableLocalLogin { get; set; } = true;
public string Username { get; set; }
public string Password { get; set; }
private readonly IIdentityServerInteractionService _interaction;
public LoginModel(IIdentityServerInteractionService interaction)
{
_interaction = interaction;
}
public IActionResult OnGet(string returnUrl)
{
ReturnUrl = returnUrl;
return Page();
}
public IActionResult OnPost([FromBody]LoginModel model, string button)
{
// todo - implement
return Page();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我在返回行上有一个断点,OnPost …
我正在开发一个Java倒数计时器.虽然之前已经完成了一些C++,但我对Java完全不熟悉,所以并不是全新的.我遇到了这个问题 - 任何人都可以很容易地看到我在逻辑上做错了什么?
怎么了:
在运行中,如果你以小时为单位输入23,则将分钟留空并放入5秒 - 5秒应该计为0 - 分钟应该是59,小时应该是22.然后一旦5秒过去所有数字去为零.
如果在输入框中我输入了23小时1分钟和5秒/秒 - 当5经过时它变为22小时59分59秒因此我知道它几乎在那里(只是希望我可能错过了一些愚蠢的东西.
最后是逻辑的最后一个问题 - 例如,如果我进入30分钟5秒,当5已经过去时,分钟转到29秒,然后继续倒计时,但小时数转到-1.下面的代码 - 对于很长的帖子感到遗憾,但是想要绘制场景 - 谢谢 - Colly
Integer sec = new Integer (seconds.getText ());
Integer min = new Integer (minutes.getText ());
Integer hr = new Integer (hours.getText ());
int temp1 = sec.intValue ();
int temp2 = min.intValue ();
int temp3 = hr.intValue();
temp1--;
if (temp1 == -1 )
{
temp1 = 59;
temp2--;
if (temp2 == 0 && temp3 != 0)
{
temp2 = 59;
} …Run Code Online (Sandbox Code Playgroud) 我有倒数计时器的用户控制表.我想要一个开始按钮然后启动计时器.然后计时器将是另一种形式的标签.从点击开始按钮启动这个新表单我需要做什么?
我有以下代码将myCar对象列表转换为来自第三方Web服务的Car对象Array,以便我可以将汽车传递给第三方Web服务:
var cars = new Car[myCars.Count];
var count = 0;
foreach (var myCar in myCars)
{
cars[count] = new Car
{
Id = myCar.Id,
Manufacturer = myCar.Manufacturer,
Model = myCar.Model
};
count++;
}
return cars;
Run Code Online (Sandbox Code Playgroud)
请注意,因为我的myCar对象除了三个第三方Web服务之外还有许多其他功能,我不能做一些简单的事情,例如:
MyClass[] myArray = list.ToArray();
Run Code Online (Sandbox Code Playgroud)
代码正在按预期工作但我想知道Linq中是否有一些东西,比如Select表达式可以使这更好并减少代码?
我试图在我在MVC中开发的Web应用程序中使用Bootstrap-Select来设置下拉列表的样式,使其类似于Bootstrap下拉列表,而我的其他应用程序正在使用Bootstrap。我的布局页面上有一个汽车制造商下拉列表,它调用Html.Action来做一个控制器,并从数据库的表中构建制造商列表,并返回下面的部分视图:-单击以下值之一时的注意事项提交下拉列表,并且用户导航到下一个屏幕。
<script type="text/javascript" src="~/Scripts/bootstrap-select.js"></script>
<link rel="stylesheet" type="text/css" href="~/Content/bootstrap-select.css"/>
<script type="text/javascript">
$(document).ready(function() {
$('.selectpicker').selectpicker();
$('#carManufacturers').change(function () {
$(this).closest('form').submit();
});
});
</script>
@using (Html.BeginForm("Index", "Cars", FormMethod.Post))
{
@Html.DropDownListFor(model => model.SelectedCarManufacturer, Model.CarManufacturersList, "Select Car Manufacturer", new { id = "carManufacturers", @class = "selectpicker" })
}
Run Code Online (Sandbox Code Playgroud)
这主要是因为Dropdown似乎是在引导程序中设置样式-我不确定的一件事是如何将data-style="btn-inverse"属性添加到我的dropdown-尝试在@ class =“ selectpicker'之后添加逗号并定义它,但是不工作。
同样由于某种原因,Intellisense会在selectpicker下划线并指出“未知的CSS样式selectpicker”?
另外,在渲染下拉菜单时,如下所示-如何摆脱第二个添加的“选择汽车制造商文本”?

javascript css asp.net-mvc twitter-bootstrap bootstrap-select
我的角度控制器中有以下内容
MyUserService.getUserRoles().then(function (data) {
var userInValidRole = false;
var role1 = "Role1";
var role2 = "Role2";
if ((data.indexOf(role1) > -1) || data.indexOf(role2 ) > -1) {
userInValidRole = true;
}
Run Code Online (Sandbox Code Playgroud)
这是按预期工作的.但是我希望做的事情如下:
var validRoles = ["Role1", "Role"];
Run Code Online (Sandbox Code Playgroud)
然后检查
if ((data.indexOf(validRoles) > -1)) {
userInValidRole = true;
}
Run Code Online (Sandbox Code Playgroud)
然而,它没有按预期工作 - 有什么我做错了吗?
我有以下方法确定我需要从DB中删除哪些车.
private List<CarDTO> BuildCarsToDelete(IList<CarDTO> newCars, IList<CarDTO> existingCars)
{
var missingCars = new List<CarDTO>();
var cars = newCars.Select(c => c.CarId);
var newCarIds = new HashSet<int>(cars);
foreach (var car in existingCars)
{
//If there are no new cars then it had some and they have been removed
if (newCars.Count() == 0)
{
missingCars.Add(car);
}
else
{
if (!newCarIds.Contains(car.CarId))
{
missingCars.Add(car);
}
}
}
return missingCars;
}
Run Code Online (Sandbox Code Playgroud)
这可以按我的意愿工作 - 但是如果我想为其他DTO的客户或公寓实现相同的功能,我将复制粘贴代码,但只更改变量名称和DTO类型 - 是否有更好的方法使用generics会保持算法和逻辑,但允许我在任何DTO上使用?
c# ×6
javascript ×3
.net ×2
linq ×2
.net-4.5 ×1
angularjs ×1
asp.net-core ×1
asp.net-mvc ×1
countdown ×1
css ×1
dynamic-linq ×1
generics ×1
java ×1
moq ×1
razor-pages ×1
regex ×1
timer ×1
unit-testing ×1
winforms ×1