asp.net - 使用公式中的字符串创建计算列

标签 asp.net sql sql-server sql-server-2005 tsql

我想在 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/

相关文章:

sql-server - SQL限制连接/串联结果

sql-server - Azure WebApp 无法与 Azure WebSql 数据库通信

c# - 请求 Spotify 访问 token 时遇到问题 [错误请求]

sql - 从 SUM(column) <= @variable 的表中选择前 X

SQL Server 按列对查询

mysql - 相同的查询,但 ORDER BY 产生不同的结果

asp.net - 如何防止IIS编译网站?

asp.net - IIS 中的多个网站指向同一 IP。 IIS 如何映射到正确的网站?

c# - 在页面加载时触发 RadButton Onclientclicked

java - 带有 Informix JDBC 3 驱动程序的 Hibernate 4.3