Eval()、Bind()的用法

作用:获取数据库字段。

eval()方法在运行时使用反射执行后期绑定计算,因此与标准的ASP.NET数据绑定方法bind相比,会导致性能明显下降。它一般用在绑定时需要格式化字符串的情况下。多数情况尽量少用此方法 。Eval 方法是静态(只读)方法,该方法采用数据字段的值作为参数并将其作为字符串返回。Bind 方法支持读/写功能,可以检索数据绑定控件的值并将任何更改提交回数据库。 

例:页面上的GridView,只显示三列,但其数据源为5列的Table。

View Code
 1 <asp:GridView ID="gvNewNews" runat="server" AutoGenerateColumns="False" 
2 EnableModelValidation="True" BorderWidth="0">
3 <Columns>
4 <asp:TemplateField HeaderText="所属类别" HeaderStyle-CssClass="th_category" ItemStyle-CssClass="th_category">
5 <ItemTemplate> [<a href='NewsList.aspx?caid=<%# Eval("caId") %>'><%# Eval("name") %> </a>]
6 </ItemTemplate>
7 </asp:TemplateField>
8 <asp:TemplateField HeaderText="新闻标题">
9 <ItemTemplate>
10 <a href='NewsContent.aspx?newsid=<%#Eval("id") %>' target="_blank" title='<%#Eval("title") %>'> <%# StringTruncat(Eval("title").ToString(),20,"...") %></a>
11 </ItemTemplate>
12 </asp:TemplateField>
13 <asp:TemplateField HeaderText="发布时间" HeaderStyle-CssClass="th_time">
14 <ItemTemplate>
15 <asp:Label ID="Label3" runat="server" Text='<%# Bind("createTime") %>'></asp:Label>
16 </ItemTemplate>
17 </asp:TemplateField>
18 </Columns>
19 </asp:GridView>

数据库数据源:

代码中的<%# Eval("name") %>是为了获取数据源中“name”字段的值,在界面上就可以显示数据库中name字段的值了。

转载于:https://www.cnblogs.com/leanfish/archive/2011/11/07/2238778.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个使用`eval`函数和`Tkinter`库的计算器程序,它使用`grid`布局: ```python import tkinter as tk def evaluate(event): # 获取计算式 expression = entry.get() try: # 计算结果 result = eval(expression) # 显示结果 output.config(text="结果: " + str(result)) except: # 显示错误信息 output.config(text="错误: 无效的计算式!") # 创建窗口 window = tk.Tk() window.title("计算器") # 创建输入框和输出标签 entry = tk.Entry(window, width=40) entry.grid(row=0, column=0, columnspan=4, padx=5, pady=5) output = tk.Label(window, text="", font=("Arial", 12), fg="red") output.grid(row=1, column=0, columnspan=4, padx=5, pady=5) # 创建数字和操作符按钮 buttons = ["7", "8", "9", "/", "4", "5", "6", "*", "1", "2", "3", "-", "0", ".", "C", "+"] for i, button in enumerate(buttons): row = i // 4 + 2 column = i % 4 btn = tk.Button(window, text=button, width=8, height=3) if button == "C": btn.bind("<Button-1>", lambda event: entry.delete(0, tk.END)) else: btn.bind("<Button-1>", lambda event, char=button: entry.insert(tk.END, char)) btn.grid(row=row, column=column, padx=5, pady=5) # 创建等号按钮 equal_btn = tk.Button(window, text="=", width=8, height=3) equal_btn.bind("<Button-1>", evaluate) equal_btn.grid(row=6, column=2, padx=5, pady=5) # 运行窗口 window.mainloop() ``` 这个程序使用了一个`evaluate`函数,它在用户按下等号时被调用,获取输入框中的计算式并使用`eval`计算结果。如果计算式无效,那么程序会显示错误信息。 程序中的数字和操作符按钮都被创建为`Button`对象,并使用`lambda`表达式绑定它们的点击事件。对于数字按钮,它们会将对应的数字添加到输入框中;对于操作符按钮,它们会将对应的操作符添加到输入框中。特别地,清除按钮会清空输入框中的文本。 最后,等号按钮也被创建为一个`Button`对象,并使用`bind`方法绑定它的点击事件。当用户按下等号时,它会调用`evaluate`函数来计算结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值