在后台代码中设置评估 [英] Set Eval in Code Behind

查看:84
本文介绍了在后台代码中设置评估的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<asp:GridView ID="Grd" runat="server" AutoGenerateColumns="false" CssClass="GridStyle"                                                                HeaderStyle-Font-Size="Small" Width="1001px"  Height="300px">
<Columns>
<asp:TemplateField HeaderStyle-Width="160px" Visible="false" HeaderText="Action">
<ItemTemplate>

<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

推荐答案

我认为在这种情况下,可以在代码后面设置值并进行更好的验证.我不知道您使用的是哪个列表控件,如果您使用的是GridView,则在rowdatabound事件中获取控件,然后相应地设置属性.

谢谢
I think so in this situation set value in code behind with better validation. I don''t know which list control you are using let say if you are using GridView then fetch control in rowdatabound event and then set the property accordingly.

Thanks


尝试以下操作:

将所有& 替换为 + :

Try following:

Replace all & by +:

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") %>' />



更新后的V-1

http://forums.asp.net/post/3264875.aspx [ http://stackoverflow.com/questions/661670/how-to-在条件视图中实现条件条件 [ ^ ]

http://www.aspsnippets.com/Articles/Conditional-Statement-and-String-Formatting-using-Eval-in-ASP.Net.aspx [ http://dotnetblogger.com/post/2009/06/16/Inline-Conditional-Statement-using-Eval%28%29-or-Bind%28%29 -to-ShowHide-%28Visibile%29-LinkBut​​ton-in-a-GridView.aspx [ http://stackoverflow.com/questions/2359790/如何在设置页面标题后的代码中使用代码 [ GridView和CommandArguments



UPDATED V-1

http://forums.asp.net/post/3264875.aspx[^]

http://stackoverflow.com/questions/661670/how-to-implement-conditional-formatting-in-a-gridview[^]

http://www.aspsnippets.com/Articles/Conditional-Statements-and-String-Formatting-using-Eval-in-ASP.Net.aspx[^]

http://dotnetblogger.com/post/2009/06/16/Inline-Conditional-Statement-using-Eval%28%29-or-Bind%28%29-to-ShowHide-%28Visibile%29-LinkButton-in-a-GridView.aspx[^]

UPDATED V-2
http://stackoverflow.com/questions/2359790/how-to-use-eval-in-codebehind-to-set-page-title[^]
GridView and CommandArguments


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


这篇关于在后台代码中设置评估的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆