跨客户端和服务器

本文关键字:服务器 客户端 | 更新日期: 2023-09-27 18:05:07

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是客户端怎么能访问这个?

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

有没有更好的方法؟

跨客户端和服务器

如果您只想要发布的值,则request.form["txtBodyMessage"]将起作用。

或者,<textarea id="txtBodyMessage" name="txtBodyMessage" runat="server"> </textarea>将作为服务器htmlcontrol提供更多的控制。这是一个中途之家。

最后,正如pj上面建议的那样,让它成为一个完整的web控件,但使用clientid来找出它在页面中调用了什么,而不是id。id是服务器端控件的名称。

假设您的脚本在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
}