MIS系统开发日志 之 模式对话框引发的问题

在表单编辑页中,很多时需要选择一些基本参数内容的,因此考虑用模式对话框形式取代下拉框的形式。

考虑的出发点时:
1、用多态性,自动匹配数据源
2、使用TreeView显示参数的层次结构。
3、统一显示的风格

步骤:
编辑页就作为XXXEdit.aspx父页面,弹出页OpenDialog.aspx为子页。
1、父页中增加JS

<script type="text/javascript">
function OpenDialog(type, objKey, objKeyText){
    var key = document.getElementById(objKey);
    var keyText = document.getElementById(objKeyText);
    var url = "../DialogBox/OpenDialog.aspx?type="+ type +"&key="+ key.value +"&rnd="+ Math.random();
    var arr = showModalDialog(url ,'','dialogHeight:300px;dialogWidth:480px;center: yes; help: no;resizable: no; status: no;');

    if (arr != null){
        key.value = arr[0];
        keyText.value = arr[0] +"-"+ arr[1];
    }
   
    return false;   
}

2、子页实现取数据,TreeView展现,节点显示Checkbox(用作单选操作),返回数据
(子页的多态实现在下一步实现)
设置返回的脚本(不想在服务器处理)
txtNodeValue、txtNodeText是记录勾选treeview的节点内容
function SubmitForm()
{
    var nodeValue = document.getElementById("txtNodeValue");
    var nodeText = document.getElementById("txtNodeText");
   
    if(nodeValue.value == "" || nodeText.value == "")
    {
        alert("未指定任何的选项!");
        return false;
    }
   
    var rtnValue = new Array(nodeValue.value, nodeText.value);
    window.returnValue = rtnValue;
   
    window.opener = null;
    window.close();
}


整个过程是实现了,但由于2.0的原因,产出一个问题:
由于在父页中设置了有选择功能的Textbox的ReadOnly = true,结果在刷新后,就不显示返回值了和从客户端传回的新的值是不被设置到Text属性的。(在以前的ASP.NET 1.x版本中,是没问题的,不清楚MS为何更改了。害我还以为是返回刷新导致数据丢失的,白折腾N久)。
查了网上资料,说用ContentEditable=“false”可以解决。的确是的。但Studio却显示非有效属性。郁闷

主要问题解决了,仍剩下一个"非有效属性"的尾巴。

下一步主要工作是实现OpenDialog.aspx中的数据源的多态性问题。

posted on 2007-10-30 15:57 Zero.Tan 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/nobugs/archive/2007/10/30/943164.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值