Ottengo l'errore dalla riga in rosso, ovviamente perchè la stringa non viene separata.

codice:
Dim CommandArgument="<%# ConcatenaChiavi(DataBinder.Eval(Container, 'DataItem.Chiave1'),DataBinder.Eval(Container, 'DataItem.Chiave2'),DataBinder.Eval(Container, 'DataItem.Chiave3'),DataBinder.Eval(Container, 'DataItem.Chiave4'),DataBinder.Eval(Container, 'DataItem.Chiave5'),DataBinder.Eval(Container, 'DataItem.Chiave6',DataBinder.Eval(Container, 'DataItem.Chiave7')) %>" 


Public Function ConcatenaChiavi(chiave1 As Object, chiave2 As Object, chiave3 As Object, chiave4 As Object, chiave5 As Object, chiave6 As Object, chiave7 As Object) As String

	Dim key As String = String.Empty


	key += "~" & chiave1
	key += "~" & chiave2
	key += "~" & chiave3
	key += "~" & chiave4
	key += "~" & chiave5
	key += "~" & chiave6
	key += "~" & chiave7
	key = key.Substring(1)

	Return key
End Function

      Sub LinkButton_Command(sender As Object, e As CommandEventArgs)

	If e.CommandName = "Update" Then

		Dim keyComposta As String = e.CommandArgument
		
		Dim chiave1 As String = keyComposta.Split("~")(0)
		Dim chiave2 As String = keyComposta.Split("~")(1) 
		Dim chiave3 As String = keyComposta.Split("~")(2)
		Dim chiave4 As String = keyComposta.Split("~")(3)
		Dim chiave5 As String = keyComposta.Split("~")(4)
		Dim chiave6 As String = keyComposta.Split("~")(5)
		Dim chiave7 As String = keyComposta.Split("~")(6)



      <asp:Button id="Button1"
           Text=""
           CommandName="Update"
           CommandArgument='<%# string.Format("{0}{1}{2}{3}{4}{5}{6}",Eval("ID"),Eval("C"),Eval("Condizioni"),Eval("Max"),Eval("Tot"),Eval("Tot1"),FormatNumber(Eval("Prezzo"),2))%>'
           OnCommand="LinkButton_Command" 
           runat="server" class="go" />