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 = "Settings" を使用すると機能しませんでした...任意の提案。前もって感謝します。

4

1 に答える 1

0

ASP.NET MVC アプリケーションでリンクを生成するには、UrlHelper を使用する必要があります。たとえば、コントローラーには、使用できるUrlプロパティがあります。

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 のインスタンスをコントローラーからそれに渡すことができます。

于 2012-08-30T07:04:28.067 に答える