在aspx.CS 中执行 javascript 函数的问题

tiger8000 tiger8000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

在aspx 前台中的 js 函数


<script type="text/javascript" language="javascript">
<!--
var k = window.dialogArguments;
//获得父窗口传递来的值

//关闭窗口返回是否刷新的参数.
function winClose() {
//var s = document.getElementById("<%=txbChild_sendToFather.ClientID%>").value;
//我先把上面为变量 s 定义的代码注释掉,下面只为 s 赋了一个静态数字 100
var s = 100;
window.returnValue = s;
window.close();
}
//-->
</script>


然后有两个按钮,分别是


<input type ="button" value="关闭且返回值" onclick="winClose()" />

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="关闭且返回值" />


在aspx.CS 后台中,为 Button1 加上 Button1_Click



protected void Button1_Click(object sender, EventArgs e)
{
this.Page.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), Guid.NewGuid().ToString(), "winClose();", true);

}



以上两个按钮,一个是htmlinput 一个是 服务器端 button ,均可以实现关闭且返回值,成功调用前台的 js winClose函数。


但是当我把前台的 js 函数变成这样


<script type="text/javascript" language="javascript">
<!--
var k = window.dialogArguments;
//获得父窗口传递来的值

//关闭窗口返回是否刷新的参数.
function winClose() {
//var s = 100;
//我把 var s 定义由静态数字 100 改为 取得 textbox 值
var s = document.getElementById("<%=txbChild_sendToFather.ClientID%>").value;
window.returnValue = s;
window.close();
}
//-->
</script>


既把变量s 值由 100 变成了 var s = document.getElementById("<%=txbChild_sendToFather.ClientID%>").value;
以后,

则 Button1_Click 就执行不了 这段 js 函数了,就是提示 js 有错,

但是 <input type ="button" value="关闭且返回值" onclick="winClose()" />
这个 htmlinput 确可以正常执行这段 js函数


这是怎么回事呢,请大家帮忙 !!万分感激
...全文

相关推荐

评论 18
收藏 已收藏
分享
返回顶部
tiger8000
.NET社区 62,273 成员 668,968 内容