2
我對Web開發相對比較陌生,對ASP.NET Web窗體也是全新的。 我有以下的用戶控件:在asp.net中獲取可編輯div的內部html
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;
}
標記:
<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;
}
想法是通過腳本執行返回div的內部html,但目前我只想弄清楚,爲什麼我得到空警報。難道div的內部html在回發時真的被清空了,我需要考慮一個不同的解決方案,或者我做錯了什麼?
在此先感謝
羅馬
謝謝,這真的是推遲執行的工作,但還有另一個問題:既然div中的文本已經被編輯了,而且我想要更新的值,我就得到了初始值。我想,我必須更早地將它保存到一些隱藏的控件或視圖狀態:在某些特定事件上... – user2082616 2013-02-18 14:20:05
您是否在回發到服務器時表示意見? – 2013-02-18 14:28:14
@ user2082616我以爲你必須將它保存到一個隱藏的控件中* *,即在回發之前。 – 2013-02-18 15:01:06