В моем приложении пользователи могут войти через сканирование штрих-кода. Сканирование запускает действие контроллера следующим образом:
function scanner(value) {
var badge = (value.startsWith('B-') || value.startsWith('B-')); //b- of B- = badge scan
if (badge)
{
$.ajax({
type: 'GET',
url: '/Login/Login',
data: {'badge': value},
succes: function () {
console.log("logged in");
}
});
}
else return;
}
Действие контроллера:
public ActionResult Login(string badge)
{
string userName = string.Empty;
if (badge != null)
{
int oncid;
if (Int32.TryParse(badge.Substring(2), out oncid))
{
Core.Employee employee = Data.Oracle.GetEmployee(oncid.ToString());
if (employee != null)
{
userName = employee.FirstName + ' ' + employee.Name;
}
}
else
userName = "invalid badge";
}
ViewBag.UserName = userName;
return PartialView("_Login");
}
в _Layout.cs html:
_Login.cs html сейчас имеет только @ ViewBag.UserName. Если я установлю точку останова здесь, я смогу увидеть, что ViewBag.UserName содержит правильное значение, однако в макете моей страницы ничего не отображается. Что мне здесь не хватает?