String.format нужна помощь с бритвой mvc 3 (vb.net), пожалуйста? - PullRequest
0 голосов
/ 24 ноября 2011

Я унаследовал некоторый код ... и пытаюсь преобразовать его для использования MVC 3, с Razor VBHTML выглядит следующим образом:

    For Each Message As MessageDetailsModel In Model.Messages
        @<div id='@Message.HeaderId' class='@Message.HeaderCss' onclick=@(String.Format("shMsgTree('{0}','{1}',{2},'{3}');", Message.HeaderCss, Message.HeaderId, Message.MessageId, Message.UserId))>
            ... more stuff...
        </div>
    Next

Пошагово просматривая код, String.format разрешается следующим образом:

shMsgTree('sh_msg_GridItem sh_msg_MessageRead ','divHeader0',40,'{85A433F0-4054-42E7-B778-3EF005E411D3}');

- это то, что я хочу на странице, но по какой-то причине он выводится на страницу следующим образом:

shMsgTree('sh_msg_GridAltItem" sh_msg_MessageRead="

Все свойства модели являются строками.

Я немного растерялся относительно того, как заставить его отображаться. Первоначально весь javascript onclick возвращался в модель, но это также не улучшило ситуацию.

Любые предложения действительно приветствуются. Спасибо!

Ответы [ 2 ]

1 голос
/ 25 ноября 2011

Учитывая наш разговор в комментариях и тот факт, что оригинальный Razor довольно сложно читать, я думаю, что я бы рекомендовал:

Без перехода по нему в коде,слишком сложно читать синтаксис в том виде, в котором он написан в настоящее время, поэтому разбейте его на отдельный компактный, тестируемый, читаемый компонент.

Надеюсь, это поможет

Stuart

0 голосов
/ 25 ноября 2011

Не уверен, что это удастся, но ваш код onClick должен быть заключен в кавычки, до и после: onClick="@(String.Format(...))"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...