2012-08-30 2 views
0
return (from doc in db.setupDocuments 
       where doc.ParentDocumentID == parentId 
       select new TreeViewItem 
       { 
        Text = doc.DocumentTitle, 
        Value = SqlFunctions.StringConvert((decimal)doc.DocumentID), 
        LoadOnDemand = doc.setupDocuments1.Count > 0, 
        Enabled = true, 
        RouteName = 
        //Url = "/Settings/SelectedItem?text=" + doc.DocumentTitle 
       }); 

안녕하세요 친구 나는 데이터베이스에서 검색되는 각 개체에 대한 링크를 만들고 싶습니다. 개체 제목의 이름 (예 : doc.DocumentTitle)의 작업 및 정적 컨트롤러 "설정"으로 전달하고 싶습니다. 그러나 주석 달린 줄에서 주어진 것과 같은 링크를 사용하지 마십시오. 내가 사용할 때 ActionName = doc.DocumentTitle,
ControllerName = "설정" 그것은 작동하지 않았다 ... 어떤 제안. 미리 감사드립니다.Linq 쿼리를 사용하여 하이퍼 링크 만들기

답변

0

UrlHelper를 사용하여 ASP.NET MVC 응용 프로그램에서 링크를 생성해야합니다.

public ActionResult SomeAction() 
{ 
    ... 

    from doc in db.setupDocuments 
    where doc.ParentDocumentID == parentId 
    select new TreeViewItem 
    { 
     Text = doc.DocumentTitle, 
     Value = SqlFunctions.StringConvert((decimal)doc.DocumentID), 
     LoadOnDemand = doc.setupDocuments1.Count > 0, 
     Enabled = true, 
     RouteName = Url.Action("SelectedItem", "Settings", new { text = doc.DocumentTitle }) 
    }); 

    ... 
} 

을 그리고 당신은 다른 클래스에서이 문제를 사용해야 할 경우 당신이 그것을에 컨트롤러에서 UrlHelper의 인스턴스를 전달할 수 : 예를 들어 컨트롤러는 사용할 수 Url 속성이 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 문제는 쿼리가 일부 컨트롤러 작업에 작성되지 않았기 때문에 저장소에 있으므로 Url.Action (.., .., ..)에 액세스 할 수 없습니다. 다른 해결책이 있습니까? –

+1

이 경우 UrlHelper 인스턴스를 사용해야하는 메서드에 인수로 전달할 수 있습니다. –

관련 문제