怎样从一个aspx页面弹出一个窗口,这个窗口里有一个TreeView,我选取它的某项然后把他的text传到,主页面的texttbox上。
有一个Equcheckin.aspx页面 里面有<script type="text/javascript" language="javascript">function returnvalue() {
var win = window.showModalDialog("EquCateWindow.aspx", "", "dialogWidth=500px;dialogHeight=300px;center: Yes; resizable: No");
if (win != null) {
document.getElementById("txtEquCategory").value = win;
}
}
</script> 这个方法我是在一个button用的。他打开了一个EquCateWindow.aspx
这里有一个treeview 我怎样把选中的treeview的某项的text传给Equcheckin.aspx 的txtEquCategory( textbox)
我是这样弄的 但是有问题在Equcheckin.aspx 页面还是用的那个脚本
在EquCateWindow.aspx里我用了这个脚本
<script type="text/javascript" language="javascript">
function doPassToParent() {
var category = document.getElementById("TextBox1");
// window.returnValue = oproid.Text + ";" + oproname.Text;
// window.close();
window.returnValue = category.value;
this.close();
}
</script>
TextBox1用来接选中的treeview的text 有一个button用来触发doPassToParent()方法
我在这个页面里写了 protected void EquTree_SelectedNodeChanged(object sender, EventArgs e)
{
this.TextBox1.Text = this.EquTree.SelectedNode.Text;
}
这样的结果是 弹窗成功 树正常 如果直接在TextBox1里写东西 点按钮 会正常传到Equcheckin页面 但是点treeview的项 就会出现问题。。脚本问题 说当前脚本也卖弄发生错误 错误原因是不支持此接口。 --------------------编程问答-------------------- --------------------编程问答-------------------- 自己搞定了。。EquCateWindow.aspx里的脚本换成function ReturnValue() {
var objNode = event.srcElement;
var unitid = event.srcElement.href;
if (objNode.tagName != "A") {
return;
}
window.returnValue = objNode.getAttribute("innerHtml");
this.close();
}
然后在后台代码里加上
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
EquView.Attributes.Add("onclick", "ReturnValue()");//ReturnValue为javascript函数
}
}
补充:.NET技术 , ASP.NET