Ниже работает нормально, модель .Opportunity содержит ожидаемую информацию, когда процесс находится на этапе просмотра MVC:
Код: Выделить всё
public async Task MyController(string Id) {
. . . .
MyModel model = new MyModel();
var client = new ForceClient(instanceUrl, accessToken, apiVersion);
var qry = await client.QueryAsync(
"SELECT Name, StageName FROM Opportunity where Id='" + Id + "'");
model.Opportunity = qry.Records.FirstOrDefault();
. . . .
return View(viewName, myModel);
}
1) Шаг 1
2) Шаг 2< /p>
3) На этапе просмотра. На данный момент модель model.Opportunity равна нулю, и мне нужно ее заполнить.
4) Шаг 3.
Код: Выделить всё
public async Task MyController(string Id) {
. . . .
MyModel myModel = await Task.Run(() =>
{
var result = new MyModel(Id);
return result;
}); // =====> Step 1
. . . .
return View(viewName, myInfoView);
}
public class MyModel
{
public SFOpportunity Opportunity { get; set; }
public MyModel(string id)
{
setOpportunityAsync(id);
}
private async void setOpportunityAsync(string id)
{
. . .
var client = new ForceClient(instanceUrl, accessToken, apiVersion);
var qry = await client.QueryAsync(
"SELECT Name, StageName FROM Opportunity where Id='" + id + "'"); // ======> Step2
Opportunity = qry.Records.FirstOrDefault(); // =====> step3
}
1) Шаг1
2) Шаг 2
3) Шаг 3
4) В Посмотреть сцену. На этом этапе модель model.Opportunity должна быть заполнена.
Подробнее здесь: https://stackoverflow.com/questions/562 ... onstructor