asp.net + 使用 javascript 将值传递给后台代码

asp.net + passing value to background code with javascript

本文关键字:后台 代码 值传 net 使用 javascript asp      更新时间:2023-09-26

我正在使用tinyMCE作为不错的文本编辑器,但现在我正在尝试获取我插入的文本,我想知道这是怎么回事。我试过:

网页代码:

<textarea id="TA_MessageInput"></textarea>
<asp:HiddenField id="HF_MessageInput" ClientIDMode="static" runat="server"/>

JAVASCRIPT 代码:

<script type="text/javascript">
    function getTinyMCEText() {
        document.getElementById('<%= HF_MessageInput.ClientID %>').Value = tinyMCE.activeEditor.getContent();
        alert(document.getElementById('<%= HF_MessageInput.ClientID %>').Value);
    };
</script>

ASP.NET 代码:

ScriptManager.RegisterClientScriptBlock(this, GetType(), "", "getTinyMCEText()", true);
String text = HF_MessageInput.Value;

javascript 给我一个警报,说标签已被填充,不幸的是它没有 ASP.NET,这说明它仍然是空的。

编辑

OnClientClick="tinyMCE.triggerSave(false,true);"

^ 这就是问题所在... :)

我认为

您可能错误地接近了这一点。TinyMCE文本区域可以从服务器端代码访问,而无需使用javascript。例如:

<asp:TextBox ID="TA_MessageInput" runat="server" ClientIDMode="Static"
    TextMode="MultiLine" Rows="30" style="width:95%" CssClass="tinymce" />

然后,从服务器端代码中,您将像访问任何其他文本框字段一样访问 TinyMCE 字段的值(取决于 VB/C#):

var textValue = TA_MessageInput.InnerHtml

如果你搜索"ASP.NET TinyMCE",你应该能够找到很多工作示例。例如:http://www.intertech.com/Blog/integrating-tinymce-4-0b3-into-an-asp-net-4-0-project/