I have a view with date field. I have used pickaday.js for rendering date control.
on select even of date i need to update my model with the date.
my code is :
Project Complete Date :
id="projectCompleteDate" data-projId="[email protected]" value="@Model.Project.ProjectCompleteDate"/>
var picker = new Pikaday({
field: document.getElementById('projectCompleteDate'),
minDate: new Date(),
maxDate: new Date(2020, 12, 31),
yearRange: [2000, 2020],
format: 'M/D/YYYY',
onSelect: function (date) {
var projId = $(this).attr("data-projId");
var datVal = date;
updateProjectWithProjectCompleteDate(projId, datVal);
}
});
function updateProjectWithProjectCompleteDate(projId, datVal) {
var token = $('[name=__RequestVerificationToken]').val();
var projectID = $("#bodycert").attr("data-projectid");
debugger;
console.log(datVal)
$.ajax({
url: "/MyController/updateProjectWithReadyToOpenDate",
type: 'POST',
headers: { "__RequestVerificationToken": token },
data: {
"ProjectCompleteDate": new Date(datVal),
"ID": projectID
},
error: function (xhr, status, err) {
try {
// some code for logging error
logerror(e);
});
}
catch (err) {
}
}
}).done(function (data) {
});
}
Method in controller:
[HttpPost]
[ValidateAntiForgeryTokenAjax]
public void updateProjectWithReadyToOpenDate(Project proj)
{
var user = us.GetCurrentUser();
var bb = HasAccessToProject(user.Username,proj.ID);
if (bb == true)
{
using (var dbcontext = new MyDbContext())
{
var projId = proj.ID;
var project = dbcontext.Projects.Where(p => p.ID == proj.ID).FirstOrDefault();
if (project != null)
{
project.ProjectCompleteDate = proj.ProjectCompleteDate;
}
dbcontext.SaveChanges();
}
}
}
I get ID value but ProjectCompleteDate is coming null.
Please help. I need both date and time to update my model.
10 Replies
Know the answer? Post it — somebody with the same question will find it here.
Sign in to answer this question
It is the same account you read, post and publish with — and you will come straight back to this page.
Bryian TanPosted Oct 13, 2017, 12:05 PM
Nepethya RanaPosted Oct 13, 2017, 11:16 AM
});
Nepethya RanaPosted Oct 13, 2017, 9:38 AM
var picker = new Pikaday({
field: document.getElementById('projectCompleteDate'),
minDate: new Date(),
maxDate: new Date(2020, 12, 31),
yearRange: [2000, 2020],
format: 'M/D/YYYY',
onSelect: function () {
debugger;
var datVal = $("#projectCompleteDate").val();
// datVal = moment().format('h:mm A'); -- this gives me time i seleceted date. My databse has datetime datatype. from where i need create a store proc to sep date and time for report
alert(datVal);
var projId = $(this).attr("data-projId");
updateProjectWithProjectCompleteDate(projId, datVal);
}
});
this line : var datVal = $("#projectCompleteDate").val(); and I am able to pass date to my object field. But I need to get the time also.
Nepethya RanaPosted Oct 13, 2017, 9:17 AM
Nepethya RanaPosted Oct 12, 2017, 11:55 PM
Bryian TanPosted Oct 12, 2017, 11:52 PM
Nepethya RanaPosted Oct 12, 2017, 11:43 PM
Bryian TanPosted Oct 12, 2017, 11:36 PM
Nepethya RanaPosted Oct 12, 2017, 11:24 PM
Bryian TanPosted Oct 12, 2017, 11:21 PM