跨客户端和服务器
本文关键字:服务器 客户端 | 更新日期: 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
}