2017-08-16 13 views
0

私は複数の列を持つ剣道グリッドを持っていますが、Docの名前を表示したいときはクリックしてDocのパスを取得します。私はこのよう剣道グリッドの列表示アクションリンク

ActionLinkのようパスを表示することができます知っているJavaScriptのドキュメント

function generateTemplate(DocumentList) { 

     var template = "<ul>" 
     if (DocumentList == null || DocumentList == undefined) { 

      template = template + "<li>N/A</li>"; 
     } else { 
      for (var i = 0; i < DocumentList.length; i++) { 
       template = template + "<li>" + DocumentList[i] + "</li>"; 
      } 
     } 
     return template + "</ul>"; 
    } 

そして、私のActionResult

public ActionResult GetDocuments(ViewModel VM) 
     { 
      using (var db = new DB()) 
      { 
       var docName = db.Documents.Include("Doc").Where(x => x.Id == VM.Id).Select(z => z.Name).ToList(); 
       if (docName.Count() != 0) { 

       } 
       Vm.DocumentListName = docName; 
       var docPath = db.Documents.Include("Doc").Where(x => x.Id == Vm.Id).Select(z => z.Path).ToList(); 
       VM.DocumentPathList = docPath; 
       return Json(VM, JsonRequestBehavior.AllowGet); 

      } 
     } 

の一覧を表示する機能

ビュー

columns.Bound(od => od.DocumentListName).Width(150).ClientTemplate("#=generateTemplate(DocumentListName)#"); 

columns.Template(@<text>@Html.ActionLink(@item.DocumentPathList.ToString(), "GetDocuments", "Controller") </text>).ClientTemplate("<a href='#=DocumentPathList#</a>").Title("Docs"); 

どうすれば組み合わせることができますか?

答えて

0
function generateTemplate(DocumentList) { 

     var template = "<ul>"; 
     if (DocumentList == null || DocumentList == undefined) { 

      template = template + "<li> </li>"; 
     } else { 
      for (var i = 0; i < DocumentList.length; i++) { 
       var url = '@Url.Action("DownloadDocument", "Controller")?filename=' + DocumentListName[i]; 
       template = template + "<a href='" + url + "'>" + DocumentList[i] + "</a> "; 
      } 
     } 
     return template + "</ul>"; 
    } 
関連する問題