showModalDialog返回值只能是数字,怎样才能支持返回中文?
我要实现的效果就是点击部门选择按钮,弹出窗口显示部门树,点击一个部门名,就把部门名返回给主窗口显示,现在只能返回ID号,返回中文的部门名就会提示那个部门名未定义。那位大师帮忙解决下呀,先谢了。
点击按钮时弹出新窗口
function showProType() {
var re = showModalDialog("../ygsq/proType.aspx", "", "dialogWidth=350px;dialogHeight=400px");
var obj = window.event.srcElement;
var td = obj.parentNode;
var txts = td.getElementsByTagName('input');
if (re == null || re == "") {
if (txts[0].value == "" || txts[0].value == null) {
txts[0].value = "请选择";
}
}
else {
txts[0].value = re;
}
}
新窗口目录树加载子菜单
private void CreateSubTreeView(TreeNode n, DataView dv)
{
foreach (DataRowView d in dv)
{
TreeNode cn = new TreeNode(d["TypeName"].ToString(), d["TypeID"].ToString());
cn.NavigateUrl = "javascript:ReturnValue(" + d["TypeID"].ToString() + ");"; 此处如果用d["TypeID]能返回数字,但用TypeName返回中文时就会出错,说那几个中文未定义。
n.ChildNodes.Add(cn);
DataView sdv = new DataView(dt, "ParentTypeID='" + d["TypeID"] + "'", "TypeID", DataViewRowState.CurrentRows);
if (sdv.Count > 0)
{
CreateSubTreeView(cn, sdv);
}
}
}
}
[解决办法]
能返回中文,你说不能返回 是因为你没给他加单引号或者双引号
如果什么都不加 默认就是数字了
加上但因号或者双引号试试.
cn.NavigateUrl = "javascript:ReturnValue('" + d["TypeID"].ToString() + "');";