Populer combobox en javascript en ensuite lui accéder via code behind
Bonjour
Voilà, j'ai un radgrid ou il y a un combobox, l'usager peut ajouter des combobox en cliquant sur un lien. Ces combobox sont populer en javascript à l'aide d'un array. Lorsque l'usager clique sur le bouton "Calculer" je veux savoir la valeur qui sélectionnée dans tous les combobox. Le problème c'est que je ne suis pas capable d'accéder a la selection du premier combobox. Il me retour toujours que le selectedvalue = "".
Voici mon code
HTML:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| <telerik:RadGrid
ID="RadGrid2"
Skin="Vista"
runat="server"
ShowFooter="true"
CommandItemStyle-HorizontalAlign="Center">
<MasterTableView
ShowFooter="true"
CommandItemDisplay="bottom"
EditMode="InPlace" >
<CommandItemTemplate>
<asp:LinkButton ID="LinkButton1" CommandName="CalculDistance" Runat="server" CssClass="TexteBlanc16">Calculer</asp:LinkButton>
</CommandItemTemplate>
<Columns>
<telerik:GridTemplateColumn UniqueName="CodePostal" HeaderText="Code Postal">
<ItemTemplate>
<asp:DropDownList ID="LstCodePostal" runat="server"></asp:DropDownList>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<ClientSettings>
<ClientEvents OnRowCreated="RowCreated" />
</ClientSettings>
</telerik:RadGrid>
<asp:Panel ID="Panel1" runat="server">
<asp:LinkButton ID="LKBtnAjouterDestination" runat="server">Ajouter une destination</asp:LinkButton>
</asp:Panel>
<script language="JavaScript">
function RowCreated(sender, eventArgs) {
var master = $find("<%=RadGrid2.ClientID %>").get_masterTableView();
var row = eventArgs.get_gridDataItem();
var ListCodePostal = row.findElement("LstCodePostal");
for (var i = 0; i < correspondance[0].length; i++) {
var optn = document.createElement("OPTION");
optn.text = correspondance[0][i];
optn.value = correspondance[1][i];
ListCodePostal.options.add(optn);
}
}
</script> |
Code Behind
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack = True Then
AjouterLigne(dt)
End If
End Sub
Public Function AjouterLigne(ByVal dt As DataTable) As DataTable
' method to create row
Dim dr As DataRow = dt.NewRow()
dr("RowNumber") = ""
dt.Rows.Add(dr)
Return dt
End Function
Private Sub RadGrid2_ItemCommand(ByVal sender As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGrid2.ItemCommand
Dim cpt As Integer = 0
Dim CodePostalDe As String
Dim CodePostalA As String
Dim kmCalcule As Decimal
If e.CommandName = "CalculDistance" Then
CalculerDistanceMultiple()
Do While cpt < RadGrid2.Items.Count
If CodePostalDe = "" Then
Dim LstcodeDe As DropDownList = DirectCast(RadGrid2.Items(cpt)("CodePostal").FindControl("LstCodePostal"), DropDownList)
CodePostalDe = LstcodeDe.SelectedValue
cpt = cpt + 1
'Avancer le for each de 1 enregistrement
End If
Dim LstcodeA As DropDownList = DirectCast(RadGrid2.Items(cpt)("CodePostal").FindControl("LstCodePostal"), DropDownList)
If Not (LstcodeA.SelectedValue Is Nothing) And (LstcodeA.SelectedValue <> "") Then
CodePostalA = LstcodeA.SelectedValue
kmCalcule = kmCalcule + TrouverDistance(CodePostalDe, CodePostalA)
End If
CodePostalDe = CodePostalA
cpt = cpt + 1
Loop
Response.Write(kmCalcule)
End If
End Sub |
Est-ce que le fait que je popule mes combobox en javascript peut faire en sorte que je ne sois pas capable d'accéder au selectedvalue en code behind?
Merci de m'aider