【问题标题】:cross client and server跨客户端和服务器
【发布时间】:2011-08-11 10:57:28
【问题描述】:

SendMessage.aspx

<asp:DropDownList  runat="server" ID="listMessagereceiver"></asp:DropDownList>
<textarea id="txtBodyMessage" name="txtBodyMessage">    </textarea>
<asp:Button OnClick="btnSendMessage_Click" runat="server" ID="btnSendMessage"  />

脚本

CKEDITOR.replace( 'txtBodyMessage',{language : 'fa',on :{}} );

代码

protected void Page_Load(object sender, EventArgs e)
{
  listMessagereceiver.DataSource=list;
  listMessagereceiver.DataBind();
}
protected void btnSendMessage_Click(object sender, EventArgs e)
{
 //how can access to `txtBodyMessage`
}

txtBodyMessage是客户端如何访问这个?

这是发送消息的好方法吗?

有没有更好的办法?

【问题讨论】:

    标签: c# jquery asp.net jquery-plugins


    【解决方案1】:

    如果您只想要发布的值,别无其他,那么request.form["txtBodyMessage"] 将起作用。

    或者,&lt;textarea id="txtBodyMessage" name="txtBodyMessage" runat="server"&gt; &lt;/textarea&gt; 可以作为服务器 htmlcontrol 为您提供更多控制权。这就像一个中途的房子。

    最后,按照上面 pj 的建议,让它成为一个完整的 Web 控件,但使用 clientid 来找出它在页面中调用的内容,而不是 id。 ID 是服务器端控件名称。

    【讨论】:

      【解决方案2】:

      假设您的脚本位于 ASPX 页面上,您可以将文本区域更改为:

      <asp:TextBox id="txtBodyMessage" name="txtBodyMessage" MultiLine="True" runat="server">    </asp:TextBox>
      

      和你的 javascript 到:

      CKEDITOR.replace( '<%=txtBodyMessage.ClientID %>',{language : 'fa',on :{}} );
      

      然后在您的事件处理程序中:

      protected void btnSendMessage_Click(object sender, EventArgs e)
      {
       //access `txtBodyMessage` with this.txtBodyMessage
      }
      

      【讨论】:

      • 错误:未捕获的异常:[CKEDITOR.editor.replace] 未找到 id 或名称为“”的元素。
      • 是那一行:CKEDITOR.replace( '',{language : 'fa',on :{}} );在 aspx 页面上?就像我上面说的, 只会在 aspx 页面上呈现文本框的 ID,而不是在普通的 .js 文件中呈现它
      • 这很奇怪,内联标记 应该正确输出 txtBodyMessage.ID 的值.. 你能发布你试图运行的整个 javascript 块吗?一个可能的解决方法是: - 将属性 CssClass="jquery_ckeditor" 添加到您的 asp:TextBox - 在您的 jquery 代码中执行 $('.jquery_ckeditor').ckeditor( function() { /* 回调代码 */ }, {语言 : 'fa',on :{}} );而不是 CKEDITOR.replace
      • 错误:$(".jquery_ckeditor").ckeditor 不是函数源文件:localhost/BackSite/js-css/lib/ControlPanelPP.js 行:823
      • 请检查您是否正确包含必要的 ckeditor 脚本,只要 jquery,如 ckeditor for jquery 文档中所述:ckeditor.com/blog/CKEditor_for_jQuery
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多