Я относительно новичок в веб-разработке и совершенно новый для веб-форм ASP.NET. У меня есть следующий пользовательский элемент управления:получить внутренний html из редактируемого div в asp.net
CSS:
div.textareaDiv {
-moz-appearance: textfield-multiline;
-webkit-appearance: textarea;
border: 1px solid gray;
font: medium -moz-fixed;
font: -webkit-small-control;
height: 200px;
padding: 2px;
resize:both;
width: 400px;
word-wrap: break-word;
word-break:normal;
}
Сценарий:
function CatchEnterKey(e) {
if (e.keyCode == 13) {
e.stopPropagation();
return false;
}
return true;
}
Markup:
<div id='HtmlTextField' style="height:200px!important;" class="textareaDiv" onkeypress="CatchEnterKey(event);" contenteditable="true" unselectable="off" runat="server"></div>;
И следующий код фоновым функция вызывается, когда Кнопка «отправить» на родительской странице нажата:
public string GetHtml()
{
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "gethtml", "alert($('.textareaDiv').html());", true);
return null;
}
Идея состоит в том, чтобы вернуть внутренний html div через выполнение скрипта, но в настоящее время я просто хочу выяснить, почему я получаю пустое предупреждение. Разве что внутренний html div действительно очищается от обратной передачи, и мне нужно думать о другом решении, или я делаю что-то неправильно?
Заранее спасибо
римской
Спасибо, это действительно задержка выполнения выполнения, но есть еще одна проблема: теперь, когда текст в div был отредактирован, и я хочу обновленное значение, вместо этого получаю исходное. Думаю, мне нужно сохранить его в какой-то скрытый элемент управления или viewstate гораздо раньше: на каком-то определенном событии ... – user2082616
Вы говорите об обратной передаче на сервер? –
@ user2082616 Я бы подумал, что вам нужно было сохранить его на скрытый элемент управления * позже *, то есть прямо перед обратной передачей. –