// Returns true if device has rebooted since last time
private func deviceRebootedSinceLastTime() -> Bool {
let userDefaults = NSUserDefaults.standardUserDefaults()
let systemUptime = NSProcessInfo.processInfo().systemUptime;
let timeNow = NSDate().timeIntervalSince1970
let dateOfLastReboot = NSDate(timeIntervalSince1970: timeNow-systemUptime)
var didDeviceRebootSinceLastTime = false
if let storedDateOfLastReboot:NSDate = userDefaults.objectForKey("deviceLastRebootDate") as? NSDate {
if Int(dateOfLastReboot.timeIntervalSinceDate(storedDateOfLastReboot)) < 1 { //
print("Reboot time didn't change - date: \(dateOfLastReboot)");
}
else {
print("Reboot time has changed - from: \(storedDateOfLastReboot) to \(dateOfLastReboot)");
didDeviceRebootSinceLastTime = true
}
}
else {
print("Reboot time is saved for the first time")
didDeviceRebootSinceLastTime = true // first time we save value
}
userDefaults.setObject(dateOfLastReboot, forKey: "deviceLastRebootDate")
userDefaults.synchronize() // don't forget this!!!
return didDeviceRebootSinceLastTime;
}
Вы должны быть в состоянии использовать синтаксис выражения @()
:
<a class="@(User.Identity.IsAuthenticated ? "auth" : "anon")">My link here</a>
У меня не установлена Razor, поэтому я могу ошибаться.
Важной концепцией является то, что вы оцениваете выражение в своем коде Razor. Лучший способ сделать это (например, если вы находитесь в цикле foreach) - использовать универсальный метод.
Синтаксис для вызова универсального метода в Razor:
@(expression)
В этом случае выражение:
User.Identity.IsAuthenticated ? "auth" : "anon"
Следовательно, решение:
@(User.Identity.IsAuthenticated ? "auth" : "anon")
Этот код можно использовать где угодно в Razor, а не только для атрибута html.
См. Комментарий @Kyralessa к краткому справочнику по синтаксису C # Razor (блог Фила Хаака).
Более простая версия, для легких глаз!
@(true?"yes":"no")
Для тех из вас, кто использует ASP.net с бритвой VB, также возможен троичный оператор.
Оно также должно быть внутри выражения бритвы:
@(Razor_Expression)
и троичный оператор работает следующим образом:
If(BooleanTestExpression, "TruePart", "FalsePart")
Тот же самый пример кода, показанный здесь с бритвой VB выглядит следующим образом:
<a class="@(If(User.Identity.IsAuthenticated, "auth", "anon"))">My link here</a>
Примечание: при написании TextExpression помните, что логические символы не одинаковы между C # и VB.
В моей задаче я хочу, чтобы текст привязки <a>text</a>
внутри моего представления основывался на некотором значении, и этот текст извлекается из App string Resources
, поэтому это @()
является решением
<a href='#'>
@(Model.ID == 0 ? Resource_en.Back : Resource_en.Department_View_DescartChanges)
</a>
, если текст не из App string Resources
, используйте это
@(Model.ID == 0 ? "Back" :"Descart Changes")
Вы также можете использовать этот метод:
<input type="text" class="@(@mvccondition ? "true-class" : "false-class")">
Попробуйте это .. Удачи Спасибо.