我有以下操作方法async和await关键字:
[HttpPost]
public async Task<ActionResult> Save(ContactFormViewModel contactFormVM)
{
if (domain.SaveContactForm(contactFormVM) > 0)// saves data in database
{
bool result = await SendMails(contactFormVM);//need to execute this method asynchronously but it executes synchronously
return Json("success");
}
return Json("failure");
}
public async Task<bool> SendMails(ContactFormViewModel contactFormVM)
{
await Task.Delay(0);//how to use await keyword in this function?
domain.SendContactFormUserMail(contactFormVM);
domain.SendContactFormAdminMail(contactFormVM);
return true;
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,一旦数据库操作完成,我想立即返回Json()结果然后调用SendMails()应该在后台执行的方法.我应该对上面的代码做出哪些更改?
我希望从播放列表中获取所有statistics类似数据viewCount的视频,视频应按视频数量排序.到目前为止我已经管理了以下内容:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=UUbW18JZRgko_mOGm5er8Yzg&key={YOUR_KEY_HERE}&maxResults=50
Run Code Online (Sandbox Code Playgroud)
在youtube api v2中,我们可以传递part=statistics以获取视图计数,但这不适用于v3播放列表.如何以上述格式获取上述视频数据.
我有以下 linq 查询:
Var q1 = (from t1 in context.Table1
where column = value
select t1).FirstOrDefault();
Var q2 = (from t2 in context.Table2
where column = value
select t2).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
据我了解,上述linq语句将调用database两次来获取表数据,但我想linq以这种方式编写查询以在单个数据库调用中获取两个表数据。我怎样才能实现这个目标?
我有以下JS对象:
function AdvancedFilters() {
var self = this;
self.AdvancedColId = ko.observable();
self.AdvancedComapanyName = ko.observable();
self.AdvancedClientCountry = ko.observable();
self.AdvancedClientCity = ko.observable();
self.AdvancedDatabaseLocation = ko.observable();
self.AdvancedUserName = ko.observable();
self.AdvancedEmail = ko.observable();
self.AdvancedPhoneNo = ko.observable();
self.AdvancedAccessFrom = ko.observable();
self.AdvancedAccessTo = ko.observable();
self.AdvancedCreatedOn = ko.observable();
self.AdvancedCandidates = ko.observable();
self.AdvancedErrorsReported = ko.observable();
self.AdvancedActive = ko.observable();
self.AdvancedRequestes = ko.observable();
}
Run Code Online (Sandbox Code Playgroud)
我必须循环遍历AdvancedFilters对象中存在的所有属性,并执行适用于所有属性的操作,而不是单独访问每个属性.我必须这样:
for (var property in AdvancedFilters) {
// do something with property
}
Run Code Online (Sandbox Code Playgroud)
我尝试了上面的语法,但它无法正常工作.
我Names在数据库的表中有以下格式的数据:
ID | Name | ParentID
1 | Parent 1 | 0
2 | Parent 2 | 0
3 | Parent 1 Child 1 | 1
4 | Parent 2 Child 1 | 2
5 | Parent 1 Child 1 Child | 3
6 | Parent 2 Child 1 Child 1 | 4
7 | Parent 2 Child 1 Child 2 | 4
Run Code Online (Sandbox Code Playgroud)
该ParentID列将列中的数据ID作为父记录.ParentIDwith 0value表示根项.我需要编写一个查询来按以下顺序获取数据:
ID | Name | ParentID
1 …Run Code Online (Sandbox Code Playgroud) select我的html中有以下内容:
<select class="form-control" data-bind="multiSelectCommaSeparated: CityIds, options: $root.Cities, optionsText: 'CityName', optionsValue: 'CityId', valueUpdate: 'change'" multiple="true"></select>
Run Code Online (Sandbox Code Playgroud)
我试图编写一个敲除自定义绑定,以便CityIds在用户在多选下拉菜单中选择多个城市时用逗号分隔值更新observable.例如,如果我有以下内容select:
<select id="cities" multiple="multiple">
<option value="1">City 1</option>
<option value="2">City 2</option>
<option value="3">City 3</option>
<option value="4">City 4</option>
</select>
Run Code Online (Sandbox Code Playgroud)
并且用户选择前3个城市,那么我的观察应该有1,2,3.如果用户取消选择City 3,那么observable应该具有,1,2并且这应该在用户选择/取消选择中的任何值时立即发生select.
我通过使用此问题的引用编写了以下自定义绑定:
ko.bindingHandlers.multiSelectCommaSeparated = {
init: function (element, valueAccessor) {
var selMulti = $.map($(element.id + " option:selected"), function (el, i) {
return $(el).text();
});
valueAccessor(selMulti);
},
update: function (element, valueAccessor) {
var selMulti …Run Code Online (Sandbox Code Playgroud) 我有以下观点:
<div class="form-group">
<label>Company Name</label>
<input type="text" class="form-control" data-bind="text: $root.CompnayNameFilter">
</div>
<div class="form-group">
<label>Phone Number</label>
<input type="text" class="form-control" data-bind="text: $root.PhoneNumberFilter">
</div>
<div class="form-group">
<label>User Name</label>
<input type="text" class="form-control" data-bind="text: $root.UsernameFilter">
</div>
<div class="form-group">
<label>Database Location</label>
<input type="text" class="form-control" data-bind="text: $root.DatabaseLocationFilter">
</div>
Run Code Online (Sandbox Code Playgroud)
我有以下视图模型:
var viewModel = {
CompnayNameFilter: ko.observable(),
PhoneNumberFilter: ko.observable(),
UsernameFilter: ko.observable(),
DatabaseLocationFilter: ko.observable(),
DoFilterOnFilteredData:ko.computed(function(){
// code to update DoFilterOnFilteredData to false when any other observable changes
})
}
Run Code Online (Sandbox Code Playgroud)
我的要求是,只要用户输入一个新值或更改值Company Name,Phone Number,User Name和Database …
knockout.js ×3
c# ×2
asp.net ×1
asp.net-mvc ×1
asynchronous ×1
google-api ×1
http-get ×1
javascript ×1
jquery ×1
linq ×1
mysql ×1
query-string ×1
sql ×1
youtube ×1
youtube-api ×1