如何通过__doPostBack函数,调用服务器端的函数?
现在的情况:
我在页面
<form id="Form1" method="post" runat="server"><FONT face="MS UI Gothic"></FONT>
<asp:TextBox ID="txtTest" Runat="server" AutoPostBack="True"></asp:TextBox>
<input type="text" onkeydown="if( event.keyCode==13 )__doPostBack('postBackTest','')">
</form>
后台的CS
protected void postBackTest(object sender, System.EventArgs e)
{
System.Console.WriteLine("Test");
}
我想在onkeydown事件中调用CS里面的postBackTest这个函数,请问该如何做到
问题点数:50、回复次数:5Top
1 楼luckyprg(lucky)回复于 2005-03-28 11:39:57 得分 2
Mark.Top
2 楼fancyf(凡瑞)回复于 2005-03-28 11:42:12 得分 12
客户端直接调用__doPostBack服务器段的函数是不行的,会引起混乱
不过可以通过js间接引发一个能够引起postback的事件,比如某个按钮的单击事件,然后把你要调用的函数作为单击这个按钮的响应就OKTop
3 楼jackie615()回复于 2005-03-28 11:45:33 得分 12
不需要__doPostBack,直接调用吧.
如果需要用到__doPostBack,在参数内输入有AutoPostBack属性及事件的控件名即可!
如:__doPostBack("txtTest","")Top
4 楼LoveCherry(论成败,人生豪迈;大不了,重头再来!^_^)回复于 2005-03-28 11:46:10 得分 12
总有一个按钮触发这个操作的吧
在页面上放置一个linkbutton比如说id="lb1"
那么就这么写__doPostBack('lb1','')即可
还有你是webform程序不能在console输出文字
用Response.Write给客户端输出,这个是常识吧Top
5 楼athossmth(athos)回复于 2005-03-28 11:52:14 得分 12
首先,思归教育过俺N次了,不要用dopostback,要用GetPostBackEventReference
其次,用GetPostBackEventReference->dopostback还是要postback,不能“偷偷”调用,没什么意义。解决办法呢,是callback,这个在.net 2.0中已经有了实现;在.net 1.x中做postback,可以参考lostinet老大的rane,那是一个完整、然而代码读得你头大的解决方案,或者,简单点的:http://www.codeproject.com/aspnet/ScriptCallbackFramework.asp。
Top




