我想在 SQL SERVER 中创建一个计算列并将公式设置为此
([Category] + '.aspx?ID=' + [Post_ID])
但不工作......我错过了什么?
Category 和 Post_ID 是表中的当前列
最佳答案
你愿意吗
SELECT [Category] + '.aspx?ID=' + [Post_ID]
FROM table
?
尝试
SELECT CAST([Category] AS NVARCHAR(MAX)) + '.aspx?ID=' CAST([Post_ID] AS NVARCHAR(MAX))
FROM table
或根据列的数据类型指定最大大小。
<小时/>以上答案不好。不要在数据层上格式化。表示层上的格式,即标记中的格式。例如:
<asp:HyperLinkField
HeaderText="LinkHeader"
DataNavigateUrlFormatString="{0}.aspx?ID={1}"
DataNavigateUrlFields="Category,Post_ID"
DataTextField="LinkName" />
(要正常工作,还需要在结果选择中存在一个LinkName
字段)
或
<asp:Hyperlink runat= "server"
Text='<%# DataBinder.Eval(Container.DataItem, "LinkName").ToString() %>'
NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "Category").ToString() + ".aspx?ID=" + DataBinder.Eval(Container.DataItem, "Post_ID").ToString() />
关于asp.net - 使用公式中的字符串创建计算列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003504/