关于脚本触发服务器控件的讨论。

yohomonkey 2002-11-28 04:15:26
使用asp.net的时间越久,越想用脚本的功能,可惜道行太浅!
1.讨论关于脚本和web也,相互调用对方的方法或函数的可能性;
2.关于脚本触发web控件事件的方法;
3.脚本与web页间的传值的简便方法;
...全文
37 27 打赏 收藏 转发到动态 举报
写回复
用AI写文章
27 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqzw100 2002-12-05
  • 打赏
  • 举报
回复
gz
yohomonkey 2002-12-04
  • 打赏
  • 举报
回复
这个方法无法post返回原来的事件!
visual 2002-12-03
  • 打赏
  • 举报
回复
关于删除前提示应该还有更简单的写法。
html
---------------------------------
function DoAsk(Word)
{
return confirm(Word);
}
----------------------------------
aspx
----------------------------------
btn.Attributes["OnClick"]="return DoAsk('确认删除该记录?(将会删除所有与该职员相关的记录,且不可恢复!)')";
------------------------------------------
xjbx 2002-12-02
  • 打赏
  • 举报
回复
呵呵,我对.net没什么研究,不能给你什么样的好建议,不过仔细研究以下Lostinet(迷失网络)的代码还是有启发的!
blues-star 2002-12-02
  • 打赏
  • 举报
回复
1.WEB SERVICE并非单单用于网站开发,它是一种通过HTTP的服务模式;
2.LOSTINET讲的是不是有点WEB FORM的味道啊?
yohomonkey 2002-12-02
  • 打赏
  • 举报
回复
html的事件才用类似冒泡法的方式,可以好好利用;
注:dataagrid的del的text=“Dele”。
yohomonkey 2002-12-02
  • 打赏
  • 举报
回复
太感谢大家的支持!
关于datagrid的delete的询问框,刚刚有了新的进展。代码如下:
<script>
function click(e){
if (event.srcElement.outerText=="Dele")
event.returnValue=confirm("are you sure?");
}
document.onclick=click;
</script>
hax 2002-12-01
  • 打赏
  • 举报
回复
收到短信我就来看看,不过说实话,我不喜欢ASP.NET的做法:把服务器端和客户端合在一起,固然这样使得web编程跟普通应用编程一样便利,但是兼容性就太差,离开了MS的东西就没用了。
至于web services,虽然很好的东西,不过在2年之内大多数网站开发还是用不到的。
fly_dream0323 2002-12-01
  • 打赏
  • 举报
回复
UP
fa2002 2002-11-30
  • 打赏
  • 举报
回复
up
yohomonkey 2002-11-29
  • 打赏
  • 举报
回复
to runmin(*^_^*) :
非常感谢啊!

to Lostinet(迷失网络):
看来我要好好研究server的东东了!,你写的我代码我可以看懂一些,可是这和__doPostBack("MyCtrl1",stringWhatTheServerWouldDo)
的调用有联系吗??
http://expert.csdn.net/Expert/topic/1213/1213430.xml?temp=.8159296
还请关注!
Lostinet 2002-11-29
  • 打赏
  • 举报
回复
补充一下:
public delegate void MyEventHandler(object sender,MyEventArgs e);

关联上MyCtrl的MyEvent,处理MyEventArgs中的string,
就可以知道客户端传上来的字符串。
分析字符串,而做不同的东西。

事实上asp.net很多东西都是这个模型的。
例如DataGrid的edit,update,cancel,delete命令都是这样传上去给DataGrid分析,然后触发EditCommand等事件
Lostinet 2002-11-29
  • 打赏
  • 举报
回复
用__doPostBack可以做很多事情。
例如自定义一个实现IPostBackEventHandler的UrerControl
例如实例ID是MyCtrl1

然后调用 __doPostBack("MyCtrl1",stringWhatTheServerWouldDo)
当然,这样页面要刷新一次的。

在服务器MyCtrl的实现里:

delegate void MyEventHandler(object sender,MyEventArgs e);
private object _myevent=new Object();
public event MyEventHandler MyEvent
{
add
{
Events.AddHandler(_myevent,value);
}
remove
{
Events.RemoveHandler(_myevent,value);
}
}
public void RaisePostBackEvent(string eventArgument)
{
//现在eventArgument就是和stringWhatTheServerWouldDo一样的值
OnMyEvent(this,new MyEventArgs(eventArgument));
}
protected virtual void OnMyEvent(object sender,MyEventArgs e)
{
MyEventHandler theDelegate=(MyEventHandler)Events[_myevent];
if(theDelegate!=null)theDelegate(sender,e);
}

//MyEventArgs就很简单和次要了。我就不继续写了。。


------------
如果你不想刷新页面,应该使用WebService.
blues-star 2002-11-29
  • 打赏
  • 举报
回复
还有不明白可以去.net版,或者找lostinet,他熟,呵呵,我又把他卖了。
blues-star 2002-11-29
  • 打赏
  • 举报
回复
自己写的,不对指正。
blues-star 2002-11-29
  • 打赏
  • 举报
回复
WEB SERVICE是基于HTTP的一种服务形式,最大特点就是可以通过HTTP将服务器上的对象通过XML描述之后,通过HTTP传送到客户端(或者是IE,或者是APP等)。

WEB SERVICE的基础就是SOAP(简单对象操纵协议)服务器端的对象用XML描述之后被封装在SOAP消息中,通过HTTP传送。

用来描述对象的XML叫WSDL(WEB SERVICE定义语言,XML扩展)当客户端读取对象的时候,首先要读取WSDL,再结合SOAP消息,将对象还原。

此都为机制,实现非常简单(C#,其它东西做要求WEB服务器能够处理SOAP消息,并发出相应的响应,实现不容易,C# WEB SERVICE工程都已经建好了不用我们操心了),至于客户端解析,如果用.NET系列非常方便,但是往往没有.NET环境,为了兼容,可以使用MS SOAP CLIENT组件。

最后的调用方法,三条语句(javascript)
var tmp = new ActiveXObject("MSSOAP.SoapClient");
tmp.mssoapinit("http://yourdomain/yourservice.asmx?WSDL");
rs = tmp.yourWebServiceMethod(); //这里调用的就是WEB SERVICE的方法,假如该方法返回的对象是Recordset那么rs就是一个Recordset实例。
yohomonkey 2002-11-29
  • 打赏
  • 举报
回复
to lostinet:
调用javascript 的dopostback的方法我知道,还想听您解释一下关于server
端:
自定义一个实现IPostBackEventHandler的UrerControl。
这个我不是太明白,这和客户端的事件如何响应啊????
随风奔跑 2002-11-29
  • 打赏
  • 举报
回复
up
Lostinet 2002-11-29
  • 打赏
  • 举报
回复
哦。我上面说错了。
DataGrid的edit...等是通过子控件的事件来触发的。
xuehan 2002-11-29
  • 打赏
  • 举报
回复
学习中……
加载更多回复(7)

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧