Передача 2 значений из Itemtemplates в code-behind - PullRequest
0 голосов
/ 19 июля 2011

что не так с этим кодом, и я получаю эту ошибку:

Compiler Error Message: CS1502: The best overloaded method match for 'RenderName(string, string)' has some invalid arguments

<ItemTemplate>

<asp:Label ID="lblName" Text='<%# RenderName(Eval("Name"), Eval("Value")) %>'  runat="server" />

</ItemTemplate>

public string RenderName(string name, string value)
{
  //do stuffs..
}

Ответы [ 2 ]

1 голос
/ 19 июля 2011

Если тип возвращаемого значения Eval () является объектом (и я подозреваю, что это так), это объяснило бы ошибку, которую вы видите. Возможно, измените вашу функцию на:

RenderName(object nameString, object valueString)

Затем внутри функции проверьте переданные параметры на нулевое значение и либо повторно приведите их к строкам, либо просто вызовите ToString () для них.

Примечание: я не нахожусь в месте, где я могу проверить это в моей собственной среде разработки, поэтому извиняюсь, если у этого подхода есть несколько сбоев.

0 голосов
/ 19 июля 2011

причина, по которой я получаю ошибку, заключается в том, что я не конвертировал тип

<ItemTemplate>
<asp:Label ID="lblName" Text='<%# RenderName(Eval("Name").ToString(), Eval("Value").ToString()) %>'  runat="server" />
</ItemTemplate>

работает как положено.

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