当选中/取消选中复选框时,我希望事件触发客户端:
$('.checkbox').click(function() {
if ($(this).is(':checked')) {
// Do stuff
}
});
Run Code Online (Sandbox Code Playgroud)
基本上我希望它发生在页面上的每个复选框上.这种方法是点击并检查状态好吗?
我认为必须有一个更清晰的jQuery方式.有人知道解决方案吗?
我在使用Moq的测试中有一些代码:
public class Invoice
{
...
public bool IsInFinancialYear(FinancialYearLookup financialYearLookup)
{
return InvoiceDate >= financialYearLookup.StartDate && InvoiceDate <= financialYearLookup.EndDate;
}
...
}
Run Code Online (Sandbox Code Playgroud)
所以在单元测试中我试图模拟这个方法并让它返回true
mockInvoice.Setup(x => x.IsInFinancialYear()).Returns(true);
Run Code Online (Sandbox Code Playgroud)
无论如何都要写这行,所以我不必指定输入IsInFinancialYear
.即.所以它在代码中没有输入参数是什么,它将返回true传递给它的什么?
我有这个linq查询:
private void GetReceivedInvoiceTasks(User user, List<Task> tasks)
{
var areaIds = user.Areas.Select(x => x.AreaId).ToArray();
var taskList = from i in _db.Invoices
join a in _db.Areas on i.AreaId equals a.AreaId
where i.Status == InvoiceStatuses.Received && areaIds.Contains(a.AreaId)
select new Task {
LinkText = string.Format(Invoice {0} has been received from {1}, i.InvoiceNumber, i.Organisation.Name),
Link = Views.Edit
};
}
Run Code Online (Sandbox Code Playgroud)
它有问题.我正在尝试创建任务.对于每个新任务,当我将链接文本设置为像"Hello"这样的常量字符串时,它很好.但是上面我试图使用发票的属性来构建属性linktext.
我收到此错误:
base {System.SystemException} = {"LINQ to Entities无法识别方法'System.String Format(System.String,System.Object,System.Object)'方法,并且此方法无法转换为商店表达式." }
谁知道为什么?有人知道这样做的另一种方法是让它起作用吗?
我有一块try catch代码:
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
Run Code Online (Sandbox Code Playgroud)
对于这段代码,我正在尝试将记录插入到数据库中:dba已将其设置为以便数据库检查重复项,如果存在重复项则返回错误.目前,正如您所看到的,无论发生什么错误,我都会向模型添加相同的错误.我希望它改变,所以如果这个错误是由dba设置的重复错误引起的,那么这个错误只会添加到模型中.
以下是我想要捕捉的错误.注意它在内部异常中.谁能告诉我如何专门捕捉这个?
嗨,当我运行我的单元测试时,我想要获取我的项目正在运行的目录来检索文件.
假设我有一个名为MyProject的测试项目.测试我运行:
AppDomain.CurrentDomain.SetupInformation.ApplicationBase
Run Code Online (Sandbox Code Playgroud)
我接受"C:\\Source\\MyProject.Test\\bin\\Debug"
.
这接近我所追求的.我不想要这个bin\\Debug
部分.
任何人都知道我怎么能得到"C:\\Source\\MyProject.Test\\"
?
有人能告诉我,nunit不可能去:
[TestCase(new DateTime(2010,7,8), true)]
public void My Test(DateTime startdate, bool expectedResult)
{
...
}
Run Code Online (Sandbox Code Playgroud)
我真的想把它放在datetime
那里,但它似乎不喜欢它.错误是:
属性参数必须是属性参数类型的常量表达式,typeof表达式或数组创建表达式
我读过的一些文档似乎暗示你应该能够但我找不到任何例子.
我在我的代码中使用Moq.我写了一个表达式:
mockInvoice.VerifySet(x => x.InvoiceAttachmentId, Times.Once());
Run Code Online (Sandbox Code Playgroud)
InvoiceAttachmentId
我的发票上的财产在哪里.
它工作正常,但我得到警告:
Moq.MockExtensions.VerifySet(Moq.Mock,System.Linq.Expressions.Expression>,Moq.Times)'已过时:'由VerifySet替换(Action,Times)'
任何人都可以告诉我如何重写它以满足编译器并摆脱警告?我不确定如何替换Action.
我在我的模型中有这个设置:
[StringLength(250)]
public string Comment { get; set; }
Run Code Online (Sandbox Code Playgroud)
在数据库中将最大长度设置为250,这很棒.
但是,当数据库人员期望varchar(250)时,它被设置为nvarchar(250).
有人可以告诉我如何将它设置为模型中的varchar而不是nvarchar?
嗨,我有一个选择:
<select id="item_OfficeUserId" class="dropdownauditor" name="item.OfficeUserId" invoicelineid="33">
Run Code Online (Sandbox Code Playgroud)
在jQuery中,我可以通过它的类来获取它:
$(".dropdownauditor")
Run Code Online (Sandbox Code Playgroud)
有没有办法根据它的类得到它,它也属于invoicelineid ="33"?
将有不止一个class="dropdownauditor"
.我想获得特定的选定项目select
.我用的是:
$(".dropdownauditor").change(function () {
$(".dropdownauditor option:selected").each(function () {
...
}
}
Run Code Online (Sandbox Code Playgroud)
但这是两次贯穿第二部分.即.然后,它正寻求在选择每一个select
有class="dropdownauditor"
是可能仅发现只有一个invoicelineid="33"
?
我的一个观点是以下剃刀代码:
@if (item.PMApproved != true) {
<input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" />
}
else {
<input type="button" class="btnresetinvoice button" value="Reset" data-invoiceid="@item.InvoiceId" disabled="disabled" />
}
Run Code Online (Sandbox Code Playgroud)
非常粗糙.基本上我想在某个条件下禁用该按钮,因为您可以从代码中解决问题.这样做更理想的方式是什么?
c# ×3
jquery ×2
linq ×2
moq ×2
unit-testing ×2
asp.net-mvc ×1
directory ×1
html ×1
javascript ×1
mocking ×1
nunit ×1
razor ×1