Я пытаюсь вставить значения из ViewBag
во входные данные через javascript и динамически создавать значение.Значение ViewBag, возвращающее неправильный номер
Я называю значение employeeID
, который сделан с контроллером
public string GetEmployeeID(out string idMethod)
{
string ee_Id = string.Empty;
ClientEmployeeSetupDefaults ee_Setup = this.dbContext.ClientEmployeeSetupDefaults.FirstOrDefault(c => c.ClientID == GlobalVariables.Client);
string nextIdSuffix = string.Empty;
idMethod = ee_Setup.EmployeeIDMethod;
switch (idMethod)
{
case IDMethod.Sequence:
ee_Id = NextEmployeeID(ee_Setup.EmployeeIDNext, "", out nextIdSuffix);
break;
case IDMethod.PrefixPlusSeq:
ee_Id = NextEmployeeID(ee_Setup.EmployeeIDNext, ee_Setup.EmployeeIDPrefix, out nextIdSuffix);
break;
}
if (nextIdSuffix != string.Empty)
{
ee_Setup.EmployeeIDNext = nextIdSuffix;
this.dbContext.SaveChanges();
}
return ee_Id;
}
с ViewBag
@{
ViewBag.Title = "CreateProcess";
string employeeID = @ViewBag.EmployeeID.ToString();
var LoginCode = @ViewBag.LoginCode;
}
Ее вставленной с JavaScript
<script>
$(document).ready(function()
{
alert('doc ready happened ' + @employeeID + ' - ' + @LoginCode);
document.getElementById('LoginCode').value = @LoginCode;
document.getElementById('EmployeeIDs').value = @employeeID.ToString();
});
</script>
Я отлаженная все путь и каждый раз на employeeID 010015001
он возвращает 2103809
независимо от того, будет ли он извлекаться из базы данных динамически или если я жестко задал значение.
В ходе этого процесса также проходит через этот метод
public ActionResult CreateProcess(string d, string p, string e, string c, string pp)
{
string method;
List<Id_Name> Profiles = GetAvailableProfiles(p, d);
ViewBag.Profiles = Profiles;
ViewBag.LoginCode = GetLoginCode();
string eeID = GetEmployeeID(out method);
ViewBag.EmployeeID = eeID.ToString();
ViewBag.IDMethod = method;
ViewBag.SelectedDepartment = d;
ViewBag.SelectedPosition = p;
ViewBag.SelectedEEClass = c;
ViewBag.SelectedEStatus = e;
ViewBag.DefaultProfile = Profiles[0].ID;
xxx.SignOn = this.dbContext.xxx.Where(obpt => obpt.TaskType == xxx.SignOn && obpt.SetupID == Profiles[0].ID).FirstOrDefault();
ViewBag.SignOnTask = SignOn.TaskID;
return View();
}
Я не могу понять, почему он вернется, что случайное число и почему через все ее отладки показывает правильный 010015001
но освежит он загружает в плохой номер.
Вы мне должны, используя модель не viewbag для этих данных. – Marko