Вставка базы данных не работает с частичным представлением
Я создал одно приложение MVC, чтобы показать детали события в конкретном месяце.
я создал одно представление, которое включает в себя одну таблицу jquery (сотрудник), имеющую по одной ссылке на действие ajax в каждой строке. когда мы щелкаем по каждой строке, отображается одно частичное представление, включающее один полный календарь для каждого сотрудника.
в этом календаре мы выделяем новое событие для каждого сотрудника
проблема в
событие успешно сохраняется для первого сотрудника, но когда мы выберем любую другую ссылку (другой сотрудник), будет загружен конкретный календарь, но при сохранении он покажет одну ошибку, например
"Произошла ошибка при обновлении записей. Подробности см. Во внутреннем исключении".
мой основной вид (создание таблицы)
function loadData(data) {
var tab = $('<table class="myTable"></table>');
var thead = $('<thead></thead>');
thead.append('<th>Id</th><th></th>');
thead.append('<th>Username</th>');
tab.append(thead);
$.each(data, function (i, val) {
trow.append('<td>' + val.empID + '</td>');
trow.append('<td>' +"" + '</td>');
trow.append('<td>' + val.empName + '</td>');
var url = '@Url.Action("test", "Home", new { id = -1 })';
url = url.replace('-1', val.empID);
var anchor = '<a class="myClass" href="' + url + '">Edit</a>'
trow.append('<td>' + anchor + '</td>');
tab.append(trow);
});
$("tr:odd", tab).css('background-color', '#C4C4C4');
$("#AllEmployees").html(tab);
};
$(document).on('click', '.myClass', function (evt) {
evt.preventDefault();
//Code to load your partial view
$('#calendar').load(this.href);
});
частичное представление (распределение проекта происходит здесь)
$(document).ready(function () {
//calendar will show
//on button save
$('#btnPopupSave').click(function () {
$('#popupEventForm').hide();
var dataRow = {
'userID': empid,
'proID': "a2",
'year': year,
'start': st,
'end': en
}
$.ajax({
type: 'POST',
url: "/Home/SaveEvent",
data: dataRow,
success: function (response) {
if (response == 'True') {
$('#calendar').fullCalendar('refetchEvents');
alert('New event saved!');
}
else {
alert('Error, could not save event!');
}
}
});
});
});
контроллер
public bool SaveEvent(string userID, string proID, string year, string start, string end)
{
return AllottedDetails.AllotEmployee(userID,proID, year, start, end);
}
учебный класс
public static bool AllotEmployee(string userID, string proID, string year, string start, string end)
{
string err;
try
{
EMPAllocationDBEntities ent = new EMPAllocationDBEntities();
ProjectAllocationDetail rec = new ProjectAllocationDetail();
rec.UserId = Int32.Parse(userID);
rec.ProjectId = proID;
rec.Year = year;
rec.StartDate = Convert.ToDateTime(start);
rec.EndDate = Convert.ToDateTime(end);
ent.ProjectAllocationDetails.Add(rec);
ent.SaveChanges();
}
catch (Exception ex)
{
err = ex.Message;
return false;
}
return true;
}
код отлично работает для первого сотрудника в таблице, но если мы выберем любого другого сотрудника и попытаемся выделить проект, он покажет ошибку. Я отладил код и данные поступают правильно в класс, но при вставке он делает ошибку.
Помогите мне, пожалуйста.....