addTags: function() {
this.tags = @Json.Serialize(Model?.Tags?.Split(',') ?? []);
}
if(@Model != null && @Model.Tags != null)
if(System.Object != null && tag1,tag2,tag3 != null) { ... }
if('@(Model?.Tags ?? "")'.length > 0) { ... }
JSON.stringify(books)
data: books,
public async Task<JsonResult> Settings(object[] books)
JObject.FromObject(books).
а метод Settings возвращает ошибку не выполняя метод.
Есть просто номер, который соответствует id в таблице Скана.
var detailsViewModel = db.employees.Include(ep => ep.Position)
.Where(j => j.Id == id)
.Select(emp => new EmploeeViewModel
{
Name = emp.Name,
Position = emp.Position,
Сontract = db.Contract.FirstOrDefault(c => c.Id == emp.ContractId)
}.FirstOrDefault();
return View(detailsViewModel);
<script>
var model = @Json.Serialize(Model.yourArray);
var model2 = @Html.Raw(JsonConvert.SerializeObject(Model.yourArray));
var model3 = [@Model.yourArray[0], @Model.yourArray[1], @Model.yourArray[2]]
</script>
public void Save(string accpath, string macDir = null, string stId = null)
{
try
{
using(var sw = new StreamWriter("**"))
{
if(!string.IsNullOrEmpty(accpath))
{
sw.WriteLine(accpath);
AccPath = accpath
}
if(!string.IsNullOrEmpty(macDir))
{
sw.WriteLine(macDir);
Macros_Directory = macDir;
}
if(!string.IsNullOrEmpty(stId))
{
sw.WriteLine = stId;
SteamID = stId;
}
}
}
catch(Exception ex) { }
}
Save(accpath)
Save(accpath, macDir)
Save(accpath, macDir, stId)
Save(null, macDir, stId)
Save(accpath, null, stId)
getUserDictByLogins(logins: string[]): Observable<UserDict> {
if (!logins || logins.length === 0) {
return of({});
}
return this.getUsersByLogins(logins)
.pipe(
map(users => {
const userDict = {};
users.forEach(u => userDict[u.accountName] = u);
return userDict;
}),
catchError(err => {
console.log(err.data);
return this.getUserDictOneByOne(logins);
})
);
}
private getUserDictOneByOne(logins: string[]): Observable<UserDict> {
const observables: Observable<UserDict>[] = [];
logins.forEach(login => {
observables.push(this.getUsersByLogins([login])
.pipe(
map(users => {
const userDict = {};
users.forEach(u => userDict[u.accountName] = u);
return userDict;
}),
catchError(err => {
console.log("Error getting user data: ", login);
console.log(err.data);
const userDict = {};
const userBean = {
accountName: login,
displayName: login,
name: login,
fioShort: login,
iofShort: login
};
userDict[login] = userBean;
return of(userDict);
})));
});
return forkJoin(observables)
.pipe(
map((userDicts) => {
const userDict = {};
userDicts.forEach(u => Object.assign(userDict, u));
return userDict;
})
);
}
<h> и <p>
инлановыми, что судя по контекту - неверно. Сделайте их как <label> и как <span>
соответственно, добавьте нужные css правила для размера и жирности, добавьте margin-left. И тогда не придется искать костыли для неудаления пробелов в разметке. getUrl="/Employee/Get"
маловато. Url Вы передали, а дальше нужно сделать метод load, в котором аяксом будут подтягиваться данные. А затем при маунте компонента этот метод load вызвать.componentDidMount() {
this.loadData();
}