Речь идет об ожидании загрузки контента
<script>
var printContent = '<h1>Hello World</h1>';
var mywindow = window.open('about:blank', 'PRINT', 'height=400,width=600');
//~ mywindow.onload = function() {
mywindow.document.write('<html><head><title>'+"Contract Approval Form"+'</title>');
mywindow.document.write('</head><body >');
mywindow.document.write('<div id="headerLogo"></div>');
mywindow.document.write('<div id="watermarkDiv"></div>');
mywindow.document.write('<div style="margin-top:50px;" id="content">' +printContent+ '</div>');
var img = mywindow.document.createElement('img');
img.setAttribute('src', 'mylogo.png');
img.onload = function() {
// now you can print, need to wait for image to load - which connotes you need to work out how to wait for all content to load
mywindow.focus();
mywindow.print();
}
mywindow.document.getElementById("headerLogo").appendChild(img);
mywindow.document.write('</body></html>');
</script>
17.4. Я могу использовать сгенерированный сервером гуид в качестве своего ключа объекта?
К сожалению, в v1 EF это не поддерживается. В то время как возможно с SQL Server иметь столбец типа “uniqueidentifier”, и установить это - значение по умолчанию, чтобы быть “newid ()”, с SQL Server 2000 нет никакого хорошего способа извлечь значение, которое сгенерировал сервер в то время, когда Вы делаете вставку. Это может быть сделано на более поздних версиях SQL Server, тем не менее, таким образом, намерение состоит в том, что мы должны найти очевидный способ к особому случаю этой поддержкой в будущих версиях EF, таким образом, это может поддерживаться на тех базах данных, которые позволяют его а не на других. На данный момент работа вокруг должна генерировать гуид на клиенте (идеально в конструкторе Вашего объекта), а не на сервере.
Лично, я думаю, что любой, кто использует EF, был бы готов бросить совместимость с SQL Server 2000 для получения функций, в которых они нуждаются. На каждую промежуточную нетривиальную вещь кажется, что я должен сделать в EF, не поддерживается вследствие того, что они должны сохранить совместимость с SQL Server 2000.
Когда будет он когда-либо заканчиваться!
Так как Гуид является структурой, нулевое значение никогда не передается так, значения по умолчанию не умирают. Вы могли рассмотреть nullable Гуид: Гуид?, хотя это может вызвать головные боли, как упомянуто в этом сообщении:
Я нашел легче просто инициализировать Гуид с новым значением:
private Guid _identifier = Guid.NewGuid();
Если это будет существующая запись, то это будет заменено, когда объект будет заполнен. В противном случае инициализированное значение будет вставлено.