类型转换中的混淆

本文关键字:类型转换 | 更新日期: 2023-09-27 18:05:51

我在类型转换中有混淆,请帮助我下面的事情。

<%# int.Parse(Eval("VendorId").ToString()) %>,
<%# Eval("ListId").ToString()%>

这两个返回什么?

类型转换中的混淆

Page.Eval方法返回一个object (System.Object)。所以:

  1. int.Parse(Eval("VendorId").ToString())首先求属性表达式VendorId(通过DataBindiner.Eval),然后调用ToString()。字符串转换是必需的,因为Int32.Parse接受字符串参数。您冒着这里返回空值并传递给Int32.Parse的风险。
  2. Eval("ListId").ToString()正在做与上面相同的事情,但是为属性表达式Listid渲染ToString()的结果,而不是将其解析为整数。