在aspx中的html里写了如下一个javascript
function NewPlanUserExecute(taskID,allotUserID,allotUserName)
{
var retVal = window.showModalDialog("Allot.aspx?action=new&taskID="+taskID+"&allotUserID ="+allotUserID +"&allotUserName="+allotUserName, null, "dialogHeight:700px;dialogWidth:600px;scroll:no;status:no;help:no");………………
}对应的cs文件中的传递参数语句为
ibPlan.Attributes.Add("onclick", "javascript:NewPlanUserExecute(\'"+form.data.taskID + "\',\'" + helper.user.UserId + "\',\'" + helper.user.UserName + "\')");
可是传递到Allot.aspx时候,发现只传了一个taskID,而且该taskID的值等于taskID值+allotUserID值+allotUserName值,
应该是传递语句写错了,请路过的高手指点一下

解决方案 »

  1.   


    function NewPlanUserExecute(taskID,allotUserID,allotUserName) 

    var retVal = window.showModalDialog("button.aspx?action=new&taskID="+taskID+"&allotUserID="+allotUserID +"&allotUserName="+allotUserName, null, "dialogHeight:700px;dialogWidth:600px;scroll:no;status:no;help:no"); 
    }         string taskID = "a";
            string allotUserID = "b";
            string allotUserName = "c";
            string js = "javascript:NewPlanUserExecute('" + taskID + "','" + allotUserID + "','" + allotUserName + "')";
            btn.Attributes.Add("onclick", js);
      

  2.   

    orstring js = string.Format("javascript:NewPlanUserExecute('{0}','{1}','{2}')", taskID, allotUserID, allotUserName);
      

  3.   

    多谢Sandy945,试了一下,很奇怪,三个参数只传了第一个和最后一个(这三个值均为string,均有值),
    Request.QueryString["taskID"]和
    Request.QueryString["allotUserName"])两个值传过去了,
    但是Request.QueryString["allotUserID"]传不过去。很仔细的对了一下语法,已经和你写的一样了。
    会是什么原因呢?
      

  4.   

    不好意思,原来初始页面没有重新打开,多谢Sandy945