您的位置:首页 > Web前端 > JavaScript

关于javascript调用C#方法的变通实现

2007-05-13 21:25 921 查看
今天由于我用模态窗口(window.showModalDialog(参数)),在子窗口(模态窗口)对自身进行提交时,都会弹出一非模态的窗口,而我所做的只是提交本身,不需要再弹出窗口,于是,我在网上一直搜索关于这方面的解决方案,以下是我试过的方案,但均不凑效.
========================================================================
在你的主页面里:
<iframe width=0 height=0 name=david1975 style="display: none" frameborder=0></iframe>
在你弹出的对话框页面里:
<form target=david1975 ...>...
这样提交就不会有新的对话框产生,原页面也不会改变什么。
========================================================================
以及在主页面中加入一style.display:none的iframe等方法.
========================================================================

于是,我寻找javascript前台代码调用服务器后台C#事件的方案,但,由于一个为前台一个为后台,会受到访问限制,也失败了.如下面的访法
========================================================================
protected string CsharpVoid(string strCC)
{
return strCC;

}

2.javascript 调用
<script language="javascript">
var s = "<%=CsharpVoid("www.esoutong.com")%>";
document.write(s);
</script>
========================================================================
1.后代码:
protected void CsharpVoid()
{
string strCC = "www.esoutong.com";
Response.Write(strCC);

}

2.调用方法:CsharpVoid()

<script language="javascript">
document.write("<%CsharpVoid();%>");
</script>
========================================================================

最后,受于"可在页面中放一个按钮,把它设置为不可见style="display:none",然后,用脚本让此按钮点击
document.all("btnSave").click();
在此按钮的C#后台中写事件代码,这就是最简单的脚本调用C#方法. "的启发,于是只好变通的实现提交功能了.
页面:
<div id="div3" style=" display:none"><asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" /></div>
javascript函数中:document.getElementById("btnSave").click();
后台处理放在C#事件btnSave_Click中

此方法更简单:
怎样才让在showModalDialog和showModelessDialog的超连接不弹出新窗口?
在被打开的网页里加上<base target="_self">就可以了。这句话一般是放在<html>和<body>之间的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: