Gopal Krishna Ranjan
Gopal Krishna Ranjan

Reputation: 878

Set Eval in Code Behind

This is my .aspx page code: -

<asp:Button ID="btnProcess" runat="server" Text="Place" OnClick="btnProcess_Click" 
CommandArgument='<%# Eval("intId") & "~" & Eval("IdECompleted") & "~" & Eval("dtECompletion") & "~" & Eval("strName") & " " & Eval("strCode") & " " & Eval("strAge") & " " & Eval("strGender") & "~" & Eval("dtStart") & "~" & Eval("strContactP") & "~" & Eval("strAdd") & "~" & Eval("strPhone") & "~" & Eval("intSalary") & "~" & Eval("bitAgree") %> />

</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

I want to use it like below but gets error: -

Private Sub Grd_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Grd.RowDataBound
If Session("poweradmin") = True Then
            Dim btnProcess As New Button
            btnProcess = CType(e.Row.FindControl("btnProcess"), Button)

            btnProcess.CommandArgument = "<% #Eval("intId") & "~" & Eval("IdECompleted") & "~" & Eval("dtECompletion") & "~" & Eval("strName") & " " & Eval("strCode") & " " & Eval("strAge") & " " & Eval("strGender") & "~" & Eval("dtStart") & "~" & Eval("strContactP") & "~" & Eval("strAdd") & "~" & Eval("strPhone") & "~" & Eval("intSalary") & "~" & Eval("bitAgree") %>'"

        End If
End Sub

Private Sub Grd_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles Grd.RowDataBound
        If Session("poweradmin") = True Then
            If e.Row.RowType = DataControlRowType.DataRow Then
                Dim btnProcess As New Button
                btnProcess = CType(e.Row.FindControl("btnProcess"), Button)
                btnProcess.CommandArgument = DataBinder.Eval(e.Row.DataItem, "intId") & "~" & DataBinder.Eval _
                (e.Row.DataItem, "IdECompleted") & "~" & DataBinder.Eval(e.Row.DataItem, "dtECompletion") & "~" & DataBinder.Eval _
                (e.Row.DataItem, "strName") & " " & DataBinder.Eval(e.Row.DataItem, "strCode") & " " & DataBinder.Eval _
                (e.Row.DataItem, "strCurrAge") & " " & DataBinder.Eval(e.Row.DataItem, "strGender") & "~" & DataBinder.Eval _
                (e.Row.DataItem, "dtStart") & "~" & DataBinder.Eval(e.Row.DataItem, "strContactP") & "~" & DataBinder.Eval _
                (e.Row.DataItem, "strAdd") & "~" & DataBinder.Eval(e.Row.DataItem, "strPhone") & "~" & DataBinder.Eval _
                (e.Row.DataItem, "intSalary") & "~" & DataBinder.Eval(e.Row.DataItem, "bitAgree")
             End If
        End If
    End Sub

Upvotes: 1

Views: 7251

Answers (1)

KV Prajapati
KV Prajapati

Reputation: 94645

You can't use string expression but you may evaluate an expression in code behind:

btnProcess.CommandArgument =  DataBinder.Eval(e.Row.DataItem, "intId") & " ~ " & DataBinder.Eval(e.Row.DataItem, "IdECompleted")

Upvotes: 5

Related Questions