关于javascript调用C#方法的变通实现
========================================================================
在你的主页面里:
<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>之间的。