另一个UserControl中的JavaScript更新字段

时间:2010-12-20 13:10:33

标签: javascript asp.net vb.net

我试着更好地解释一下。我在页面中有一个用户控件,其中有UC2(模式弹出)。我尝试实现这一点:当我关闭UC2(模态)时,我尝试更新UC1上的一些字段。这适用于一个(我有UC2(模态)和按钮Save OnClientClick =“SaveInfoCI()”),以及在页面顶部的UC1

function SaveInfoCI(){      的document.getElementById( “<%= frmData.FindControl(” txtImplementingCI “)的ClientID%GT;”)。值  = document.getElementById(“<%= UC2.GetClientID%>”)。value; }

但是因为我在另一个地方重用了这个控件,我想更新另一个字段。基本上现在我有3个JS功能更新3个字段。当我点击UC2(模态)中的保存时,我尝试执行此3 javascript f中的一个,以更新右侧字段。我不希望有3个相同的UC,只有OnClientClick =“SaveInfoCI()。”

1 个答案:

答案 0 :(得分:0)

两个问题:首先,你的语法是关闭的,当你内部的代码不能像这样使用<%=时。

第二个问题,到执行此脚本时(在页面顶部),元素仍然不存在。您必须更改客户端页面加载事件中的值。

所以这应该有效,尽管服务器端做得更好:

sb.Append("window.onload = function() { document.getElementById('" + frmData.FindControl("txtTextBox").ClientID + "').value = document.getElementById('" + MyUserControl.GetJs + "').value; };</")

另外,你真的不需要StringBuilder ..请改用普通的字符串。