2013-04-26 2 views
1

У меня есть некоторое содержимое html, и я сохранил его в строковой переменной, и я хочу напечатать его напрямую. Есть ли способ в C#? У меня есть код javascript, который не работаетпечать некоторого HTML в строке в Asp.net

string emailbody="HTML i need to send"; 
Page.RegisterStartupScript("StatusMessage", "<SCRIPT LANGUAGE=\"JavaScript\">function  printsheet(" + emailbody + "){var win = window.open('mywindow', 'left=0', 'top=0')var html = Zstring; win.document.open()win.document.write(html);win.print();}</Script>"); 
+2

попробовать это: printsheet (' '' "+ emailbody +" ''') – opewix

+0

не работает ..... – Anilkumar

+0

, что это ошибка? проверьте метод 'printsheet', используйте' Alert() ', чтобы узнать, что метод получает в параметрах. – opewix

ответ

4

У вас есть много способов сделать это.

Один из способов, сделать строку public

public string emailbody="HTML i need to send"; 

и на ASPX странице вы сделать его как:

<%=emailbody%> 

Другим способ заключается в использовании Символьного контроля и сделать его там. Когда у вас есть UpdatePanel, это единственный способ.

Например, вы устанавливаете Буквальное на странице, на месте, где вы хотите, чтобы сделать свой текст как:

<asp:Literal runat="server" id="txtRenderOnMe" /> 

и на коде позади вас типа:

txtRenderOnMe.Text = "HTML i need to send"; 

Теперь в вашем случае проблема заключается в том, что вы отображаете строку в javascript-коде без квот, как указывает другой jesse на свои комментарии.

string emailbody="HTML i need to send"; 
Page.RegisterStartupScript("StatusMessage", "<script language=\"JavaScript\">function  printsheet('" + emailbody + "'){var win = window.open('mywindow', 'left=0', 'top=0')var html = Zstring; win.document.open()win.document.write(html);win.print();}</script>"); 
+0

Хороший ответ, но почему« <% = emailbody%> »не работает внутри панели обновления? –

+1

@HassanMokdad Не работает обновление UpdatePanel, потому что UpdatePanel не отображает снова страницу по коду, и эта часть этого кода не может быть запущена. Что такое updatepanel, это запустить код позади, узнать, как часть страницы нуждается в обновлении, и отправить эту часть с помощью ajax. – Aristos

+0

Спасибо за это объяснение :) –

Смежные вопросы