Asp.Net MVC: использование HTML-тегов в @Html: Grid - PullRequest
1 голос
/ 25 мая 2011

Можно ли использовать встроенный HTML внутри @ Html.Grid (я пытаюсь создать тег гиперссылки в одном из столбцов). Вот пример:

@model Example.Models.ExampleItems

@{
    ViewBag.Title = "Example Items";
}

<div id="ExampleContentInnerContainer">
<h2>Example Items</h2>

<div id="ExampleListGrid">
    <span class="ExampleGrid">
    <p>
        @Html.Grid(Model.ExampleList).Columns(c =>
        {
            c.For(a => a.Example.Mandatory == true ? "Yes" : "No").Named("Mandatory");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateRequested)).Named("Date Requested");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateDeadline)).Named("Deadline Date");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateReceived)).Named("Date Received");         
            c.For(a => a.Comment).Named("Comment");
            c.For(a => a.Name).Named("Checklist type");
            c.For(a => @:<a href="www.google.com" />);
        }
        )
    </p>
    </span>
</div>

Любая помощь будет приветствоваться.

ОБНОВЛЕНИЕ - основываясь на сообщении архива, мой новый код стал:

@model Example.Models.ExampleItems

@{
    ViewBag.Title = "Example Items";

    Func<dynamic, object> updateLink = @<a href="#?w=500" rel="Checklist_Popup" class="poplight">@item</a>;
}

<div id="ExampleContentInnerContainer">
<h2>Example Items</h2>

<div id="ExampleListGrid">
    <span class="ExampleGrid">
    <p>
        @Html.Grid(Model.ExampleList).Columns(c =>
        {
            c.For(a => a.Example.Mandatory == true ? "Yes" : "No").Named("Mandatory");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateRequested)).Named("Date Requested");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateDeadline)).Named("Deadline Date");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateReceived)).Named("Date Received");         
            c.For(a => a.Comment).Named("Comment");
            c.For(a => a.Name).Named("Checklist type");
            c.For(a => updateLink("Update"));        
        }
        )
    </p>
    </span>
</div>

Ответы [ 2 ]

2 голосов
/ 25 мая 2011

Взгляните на шаблонных делегатов бритвы . Там вы можете сделать генерацию ссылок

0 голосов
/ 25 мая 2011

Вы можете попробовать обернуть тег " ... " в тег "@ ... ".В вашем случае это будет выглядеть так:

@model Example.Models.ExampleItems

@{
    ViewBag.Title = "Example Items";
}

<div id="ExampleContentInnerContainer">
<h2>Example Items</h2>

<div id="ExampleListGrid">
    <span class="ExampleGrid">
    <p>
        @Html.Grid(Model.ExampleList).Columns(c =>
        {
            c.For(a => a.Example.Mandatory == true ? "Yes" : "No").Named("Mandatory");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateRequested)).Named("Date Requested");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateDeadline)).Named("Deadline Date");
            c.For(a => string.Format("{0:dd/MM/yyyy}", a.DateReceived)).Named("Date Received");         
            c.For(a => a.Comment).Named("Comment");
            c.For(a => a.Name).Named("Checklist type");
            c.For(a => @<text><a href="www.google.com" /></text>);
        }
        )
    </p>
    </span>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...