//JS: 
//拼接字符串,通过点击  “下载”  调用JS函数,下载 .txt、.pdf、以及其他文件( .xls、.xlsx、.doc、.docx等) 
  var value = rowData[0];
  var name = rowData[2];
  var ext = rowData[3];
       if (ext == ".txt") {
        return "<a target=\"_blank\"  title='点击下载文件' onclick=\"OnClickText('" + value + "','" + ext + "','"+name+"');\"  style=\"cursor:pointer;\">" + " 下载" + "</a>";
         } else if (ext == ".pdf") {
             return "<a target=\"_blank\"  id=\"links\" title='点击下载文件' download onClick=\"OnClickPdf('" + value + "','" + ext + "');\" style=\"cursor:pointer;\">" + " 下载" + "</a>";
                } else {
                   return "<a target=\"_blank\" href=\"/Resource/UploadTrain/" + value + ext + "\" title='点击下载文件' style=\"cursor:pointer;\" >" + " 下载" + "</a>";
                  }
                     
<script type="text/javascript">
//a链接 点击文本(.txt) 下载 调用的函数
        function OnClickText(filename, text,name) {
            //获取文本(txt),内容:
            var _filename = filename + text;
            var _filename0 = name;//获取文本名称
            //找一个标签放一个位置
            getAjax("TrainAttment.aspx", "action=OnLoadFile&txtName=" + _filename, function (data) {
                $("#output").val(data); //获取文本内容
            });
            var _text = $("#output").val();
            download(_filename, _text);
            //download("data.txt", "hello word!");  // 调用
        }
         

        //a链接 点击下载(.pdf)文件
        function OnClickPdf(filename, text) {
            var pdf = $("#downPDF").val();
             document.getElementById('links').href = "../Resource/UploadTrain/" + filename + text;
        };
        
        //a链接 获取文本【例如: 测试001.txt】下载  内容格式
        function download(filename, text) {
            var pom = document.createElement("a"); 
            pom.setAttribute(
                "href",
                "data:text/plain;charset=utf-8," + encodeURIComponent(text)
            );
            pom.setAttribute("download", filename);
            if (document.createEvent) {
                var event = document.createEvent("MouseEvents");
                event.initEvent("click", true, true);
                pom.dispatchEvent(event);
            } else {
                pom.click();
            }
        };
 </script>
//c#
 string active = HttpContext.Current.Request["action"];  
 switch (active)
            {
                case "OnLoadFile":
                    string txtName = HttpContext.Current.Request["txtName"];
                    string Path = Server.MapPath("../Resource/UploadTrain/" + txtName);
                    ReadTxtContent(Path);
                    Response.End();
                    break;
                default:
                    break;
            }

        #region 阅读文件文本内容
        public void ReadTxtContent(string Path)
        {
            StreamReader sr = new StreamReader(Path, Encoding.Default);
            string content;
            while ((content = sr.ReadLine()) != null)
            {
                string _content = sr.ReadToEnd();//获取文本的全部内容
                content += _content;
                Response.Write(content);
            }
        }
        #endregion
 <tr>
    <td>
       <%--文本域:存放文本内容--%>
       <textarea  id="output" style="width:800px;height:60px;display:none; "></textarea>
       <input  id="downPDF" style="width:800px;height:60px;display:none;"/><!-- 隐藏域:存放处室名字,供下载PDF作判断 -->
     </td>
  </tr>