window.showModalDialog 返回值

在网上查了一些资料用于window.showModalDialog返回值,并用于项目中,下面是代码:

    <script language="javascript" type="text/javascript">

        function OpenWin(id) {

             var temp=window.showModalDialog("/test.aspx?ID=" + id + "&DT=" + new Date(), window, "dialogWidth:1020px;dialogHeight:700px;scroll:auto;status:no;help:no;");

             if (temp === undefined) {

                 return false;

             }

             temp = $.parseJSON(temp);

            

             if (temp.Action == "delete") {

                 if (anSelected.length !== 0) {

                     alert("delete");

                     oTable.fnDeleteRow(anSelected[0]);

                 }

             }           

             else if (temp.Action == "update") {

                 var content = unescape(temp.Content);

                 $("TD", $(content)).each(function (i) {

                     if (i == 0) {

                         return;

                     }

                     var tdHTML = $(this).html();

                     $("TD", anSelected).eq(i).html(tdHTML);

                 });

             }

        }

    </script>

下面是test页面的代码,关闭窗体的代码,一般会在后台注册

    <script type="text/javascript">

        function closeWindow(action, content) {

            //var arr = new Array(2);

            //arr[0] = action;

            //arr[1] = "<td>Record Number</td><td>Detail Description</td><td> Wave</td><td>Visite Ref.访谈场次 </td> <td>Date访谈日期</td><td> Function类别</td><td>ProgrameProject 项目</td><td>类别II</td><td>建议类型</td><td>状态</td><td> 创建者</td>";

            //arr[1] = content

            //window.returnValue = "{\"Action\":\"" + arr[0] + "\",\"Content\":\"" + escape(arr[1]) + "\"}";

            window.returnValue = "{\"Action\":\"" + action + "\",\"Content\":\"" + escape(content) + "\"}"

            window.close();

        }

    </script>

    <base target="_self" />

在后台注册比较长的字符串中要注册一些特殊的字符,下面是后台的一些过滤源代码

    private string GetModifiedMessage(SPListItem item)

    {

        StringBuilder sb = new StringBuilder();

        sb.Append("<tr>");

        sb.Append("<td><input type=\"checkbox\" name=\"chk\" value=\"" + ConvertNULL(item["ID"]) + "\" />" + "</td>");

        if (string.IsNullOrEmpty(ConvertNULL(item["RecordNumber"])))

        {

            sb.Append("<td>" + ConvertNULL(item["RecordNumber"]) + "</td>");

        }

        else

        {

            sb.Append("<td>" + ConvertNULL(item["RecordNumber"]).Split('#')[1]+ "</td>");

        }

        sb.Append("<td>" + ConvertNULL(item["IssueDetail"])+ "</td>");

        sb.Append("<td>" + ConvertNULL(item["场次"]) + "</td>");

        sb.Append("<td>" + ConvertNULL(item["Date"]) + "</td>");

        sb.Append("<td>" + GetShortCode(ConvertNULL(item["Category1"])) + " " + ConvertNULL(item["类别一"]) + "</td>");

        sb.Append("<td>" + GetShortCode(ConvertNULL(item["Category2"])) + " " + ConvertNULL(item["类别二"]) + "</td>");

        sb.Append("<td>" + GetShortCode(ConvertNULL(item["Category3"])) + " " + ConvertNULL(item["类别三"]) + "</td>");

        sb.Append("<td>" + GetShortCode(ConvertNULL(item["Category4"])) + " " + ConvertNULL(item["类别四"]) + "</td>");

        sb.Append("<td>" + ConvertNULL(item["Status"]) + "</td>");

        sb.Append("<td>" + ConvertNULL(item["Author"]).Split('#')[1]+ "</td>");

        //sb.Append("<td>" + "<input type=\"button\" value=\"Confirm\" onclick=\"OpenWin(" + ConvertNULL(item["ID"]) + ")\" class=\"bnA\" /></td>");

        sb.Append("</tr>");

        return sb.ToString().Replace("<br/>", string.Empty).Replace("\r", "\\n").Replace("\n", "\\n").Replace("'","\'");

    }


后台引用的代码:

ClientScript.RegisterStartupScript(this.GetType(), "close", string.Format("closeWindow('delete','{0}');", GetModifiedMessage(item)), true);

 

 

你可能感兴趣的:(window.showModalDialog 返回值)