Вы можете попробовать это:
var wrap = document.createElement('div');
var scr = document.createElement('script');
scr.src = scriptUrl;
scr.type = 'text/javascript';
wrap.appendChild(scr);
document.body.appendChild(wrap);
Создав тэг сценария явно, вы сообщаете JS, что innerHTML не является текстом, а вместо этого является исполняемым скриптом.
Вы должны Convert
прочитать значение (обратите внимание, что vo2.Rows[0]["Start"]
имеет тип object
, когда вы хотите DateTime
):
DateTime thisdate = Convert.ToDateTime(vo2.Rows[0]["Start"]);
// MM - if you want leading zero; note, that "mm" stands for minutes
line.Cells[5].Value = thisdate.ToString("dd/MM/yyyy");
Объяснение того, что происходит:
vo2.Rows[0]["Start"
имеет тип object
new DateTime(long ticks)
хочет один long
аргумент long
) Вы получаете ошибку, потому что конструктор DateTime
занимает много времени, но вы передаете объект:
DateTime thisdate = new DateTime(vo2.Rows[0]["Start"]);
Я думаю, что первый столбец в DataTable
уже a DateTime
, затем используйте это:
DateTime thisdate = vo2.Rows[0].Field<DateTime>("Start");
В противном случае вы должны проанализировать его, например:
string dtVal = vo2.Rows[0]["Start"].ToString(); // 3/9/2019 8:00:00
DateTime thisdate = DateTime.ParseExact(dtVal, "d'/'M'/'yyyy h:mm:ss", null);
или даже проще, потому что с этим вводом вам не нужно ParseExact
но вы можете использовать Parse
:
DateTime thisdate = DateTime.Parse(dtVal);