【发布时间】:2014-04-25 11:34:40
【问题描述】:
目的:传递一个值,即SQL DB中的一个整数并返回一个文本值
问题:要从 Eval 获取值到函数,我似乎必须将 .tostring 放入字符串而不是数字。如果我尝试使用以下 convert.toint32 ,则不会传递任何值。我最后尝试了 .tostring 。
检查:没有 Eval,我得到了网格中显示的数字,当使用没有转换的 .tostring 时,将数字作为字符串传递,然后在搜索中失败,因为我无法将字符串变成数字?!
我看过各种论坛讨论,尤其是Converting value of an Eval from int to string
代码:
.aspx
<%# RiskIDToText(Convert.ToInt32(Eval("RiskID")))%>
.aspx.vb
Public Function RiskIDToText(ByVal vRiskIDString As Integer) As Integer
Dim vString As String = ""
Dim sConnString As String = System.Web.Configuration.WebConfigurationManager.ConnectionStrings("SQL").ConnectionString
Dim dsNames As SqlDataSource
dsNames = New SqlDataSource
dsNames.ConnectionString = sConnString
Dim sSQL As String
sSQL = "SELECT RiskCategories,RiskCatID FROM TblRisks_Categories WHERE RiskCatID = '& vRiskIDString & '"
dsNames.SelectCommand = sSQL
For Each datarow As Data.DataRowView In dsNames.Select(DataSourceSelectArguments.Empty)
vString = datarow("RiskCategories").ToString
Next
Return vString
End Function
【问题讨论】: