问题标签 [dynamic-data-site]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
531 浏览

c# - 实体和动态数据站点:表之间的引用

我有两张桌子:

(上面的脚本应该创建两者。)基本上,我有一个引用上下文表的组件表。

我使用两个表创建了一个动态数据站点,.NET 将为我处理引用。这是快速提供一些基础网站的好方法,这样我们就可以先继续处理业务逻辑。

但是,当我查看 DDS 中的 Component 表时,我注意到该引用显示了上下文的代码字段,而不是Name字段。那么,在显示上下文表的引用链接时,如何强制 DDS 使用名称字段?

(最好使用简单的方法,因为我正在处理 60 多个与此类似的表。其中大多数是简单的查找表,以使过滤更容易。)

由于我们在几个月内不会在此 Web 应用程序的 GUI 端工作,因此无法更改 DDS 源本身中的某些内容。如果可以在数据库或实体模型中修复,请告诉我!


我用于这个项目的数据模型很简单:每个表都有一个主键“Identity”,它是一个 autoIncrement 字段。Code 和 Naam(名称)字段用于描述特定数据,并在其他应用程序中用于填充组合框和过滤器。这些应用程序不直接与数据库通信,但它们使用基于数据库的导出 XML。在此导出 XML 中,指向“身份”的链接被指向“代码”的链接替换。这允许用户将代码更改为他们喜欢的任何内容,而无需遍历整个数据库来调整引用。该数据库只有一个目的:使多个用户更容易维护另一个应用程序使用的 XML 数据。我们大约有 5 人在 24/7 左右对这些数据进行修改,并且大约每周生成一次导出 XML,然后将其发送给我们的客户。(他们主要在离线应用程序中使用这些数据,在互联网连接有限的笔记本电脑上。)

0 投票
2 回答
655 浏览

c# - 将“导出到 XML”添加到动态数据站点

我正在为复杂的 Web 应用程序开发业务层,并且正在临时使用动态数据站点功能来允许将数据输入到我需要维护的许多表中。我不想在这个 DDS 上花太多时间,因为业务层需要先完成。一旦业务层完成,它就会被运送给其他人以添加更好的用户界面。

然而,虽然 DDS 以一种非常简单的方式提供了很多功能,但我只想通过“导出到 XML”按钮或链接来扩展它。(稍后我可能会添加一个“导出到 Excel”按钮。)

那么,有没有人做过这样的事情呢?在 .NET 中实现这一点而不重写 DDS 的最简单方法是什么?

(我使用实体模型进行数据库连接,并且大部分业务层都建立在这个实体模型之上。一旦业务层完成,将为这个 Web 应用程序开发真正的 GUI 界面,但现在我只需要一个好方法输入/输出此数据。)


将实体集转换为 XML 没有问题。那是容易的部分。我的问题在于使用用户可以单击的附加按钮扩展“ListDetails.aspx”。单击后,它应该将数据集导出为 XML。有趣的是,如果用户设置了一个或多个过滤器,它应该只导出那些过滤的记录。我想我必须查看此页面上的“GridDataSource”对象并进行试验。它会返回整个表还是只返回过滤后的数据集?或者只是当前页面上的记录?


现在,通过导出,我只想将数据集转储到 XML。基本上,您看到的内容应该最终出现在最终的 XML 中。如果我可以访问过滤后的数据集,那么创建 XML 将很容易。(在此之上创建 Excel 工作表也是小菜一碟。)通常,导出只是用于帮助开发我正在处理的项目的业务层。大多数代码是业务逻辑,将在其他(Web/桌面)客户端应用程序中使用,但当项目仍在进行中时,需要 DDS 以便更轻松地为项目输入数据。一旦完成(我猜是从现在开始的数亿年),DDS 将不再被使用。我们也不会使用 XML 导出或导出表。但就目前而言,这些导出对于评估数据很有用。(因为我仍然需要开发更复杂的分析工具。)

0 投票
4 回答
3053 浏览

c# - “row_number”不是可识别的函数名。关键字“AS”附近的语法不正确

我创建了一个简单的项目,其中包含一个 SQL Server 数据库,其中包含数十个表和大量索引,但没有什么复杂的。没有触发器,没有存储过程,没有额外的“数据库魔法”。代码是用 C# 编写的,使用实体模型和动态数据站点来快速设置基础知识,所以可以让一些打字猴子工作并做一些基本的数据输入,而我将修改项目变得更加成熟.

在 SQL Server 2005 上对其进行了测试,一切正常。因此,我通过 Visual Studio 进行了设置,并将其发送给打字猴子及其管理员。他们所要做的就是:1)创建一个新数据库。2) 执行数据库的创建脚本。3)安装我给他们的设置。4)修改连接字符串,为了方便起见,它恰好放在一个特殊的配置文件中。5) 使用网络界面,如果出现问题,请通知我。

出了点问题。这个完整的错误:第 1 行:'(' 附近的语法不正确。'row_number' 不是可识别的函数名。关键字'AS' 附近的语法不正确。

我不在我的代码中使用“row_number”。我只是使用 Linq 进行查询。此外,由于实体模型,我什至不必担心做任何 SQL 的事情。(尽管我很擅长。)

我的第一个猜测是他们使用了错误的连接字符串。他们可能正在 SQL Server 上安装此应用程序(应该仍然可以工作),但他们没有完全更改连接字符串,现在我的项目认为它正在使用 SQL Server 2005。(或其他。)我是对的还是这是由某些原因引起的其他讨厌的错误?

完整错误:

[SqlException (0x80131904):第 1 行:'(' 附近的语法不正确。'row_number' 不是可识别的函数名。关键字'AS' 附近的语法不正确。]
System.Data.SqlClient.SqlConnection.OnError(SqlException 异常,布尔值breakConnection)+1950890 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection)+4846875 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)+194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2392
System.Data.SqlClient.SqlDataReader.ConsumeMetaData() +33 System.Data.SqlClient.SqlDataReader.get_MetaData() +83 System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +297
System.Data .SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +954 System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法, DbAsyncResult 结果) +162
System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String 方法) +32 System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior 行为, String 方法) +141
System.Data.SqlClient.SqlCommand。 ExecuteDbDataReader(CommandBehavior 行为)+12
System.Data.Common.DbCommand.ExecuteReader(CommandBehavior 行为)+10
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand,CommandBehavior 行为)+387

[EntityCommandExecutionException:执行命令定义时发生错误。有关详细信息,请参阅内部异常。]
System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior) +423
System.Data.Objects.Internal.ObjectQueryExecutionPlan.Execute(ObjectContext context, ObjectParameterCollection parameterValues) +743
System.Data。 Objects.ObjectQuery 1.GetResults(Nullable1 forMergeOption) +157
System.Data.Objects.ObjectQuery`1.GetIListSourceListInternal() +13 System.Data.Objects.ObjectQuery.System.ComponentModel.IListSource.GetList() +7 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments, Creator qbConstructor)+1168 System.Web.UI.WebControls.EntityDataSourceView.ExecuteSelect(DataSourceSelectArguments 参数)+102
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments 参数,DataSourceViewSelectCallback 回调) +19 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73 System. Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72 System.Web.UI.Control .EnsureChildControls() +87 System.Web.UI.Control.PreRenderRecursiveInternal() +44 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI .Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control.PreRenderRecursiveInternal() +171 System.Web.UI.Control。PreRenderRecursiveInternal() +171 System.Web.UI.Page.ProcessRequestMain(布尔型 includeStagesBeforeAsyncPoint,布尔型 includeStagesAfterAsyncPoint)+842


这个应用程序以前是在 SQL Server 2000 系统上构建的,然后它也可以正常工作。但是,测试数据库升级到 2005,而生产数据库仍然使用 2000。我希望这不会造成任何问题,但我的假设是否正确?

0 投票
0 回答
362 浏览

asp.net - 在动态数据站点中显示数据列而不是外键

我正在使用 asp.net 动态数据站点。我为所有表启用了脚手架。它还显示外键。我想显示一个数据列而不是表中的外键。

此表 ItemsInProcess 包含 Outlet 表中的 _OutletID,我想显示 Outlet 表中的 OutletName 列。

0 投票
3 回答
600 浏览

asp.net - 防止空字符串在 asp.net 动态数据中变为 NULL

我有一个标准的 ASP.NET 4 动态数据站点(使用 Linq to SQL)。

在我的 SQL-Server 数据库中,我有数百个设置为 NOT NULL 的 varchar 字段,但默认值为空字符串。它们永远不应该为 NULL,但它们可能有一个空字符串作为内容。

在动态数据站点上编辑这些字段时,内部逻辑将字段视为 NOT NULL 并且介于 TextBox1.Text (这是一个空字符串)之间并调用 UPDATE sql 它将值设置为 NULL 并且它们更新失败。

我可以看到 System.Web.DynamicData.MetaColumn 有一个属性“ConvertEmptyStringToNull”,但它是只读的。

我可以做些什么来防止空字符串变为 NULL 而不必更改所有数百个字段的属性?

0 投票
1 回答
347 浏览

c# - 动态数据网站 - 使用父表值过滤子表的行

我已经创建了 Linq to Sql 动态数据站点的应用程序。我有很多具有关系结构的表。例如:tblSite、tblSiteImage、tblSiteAdvertisement、tblGenericCategory、tblEntityType。tblSite是我所有其他表的父表。我想为所有这些表应用过滤器,即 tblSite 的过滤器。

这意味着,应该有 tblSite 数据的下拉列表(DDL)。在更改 DDL 中的数据选择后,它应该过滤这些表中的数据。

请注意,SiteId 列存在于某些表(如 tblGenericCategory)中,但不存在于表 tblEntityType 中。但是这两个表是使用 tblEntityType 中的 EntityTypeId 列连接的。

所以关系显示如下:

tblSite ------> tblGenericCategory ------> tblEntityType

我想将 SiteId 的过滤器应用于表 tblEntityType。

所以,我的问题是:

如何在动态数据站点应用程序中将过滤器应用于子表的子级?

提前致谢。

0 投票
0 回答
57 浏览

asp.net - 根据我的数据库中的值动态重写 URL

我已经在 Asp.net 中成功开发了一个动态网站。我已将默认 URL 重命名为如下。

问题是我想根据存储在数据库中的值动态编写 URL 就像如果有一个名为 NewSurvey 的值,我希望我的 url 像 abc.com/NewSurvey 这样的页面应该让我进入登录页面。关于如何进行的任何建议。??
我是新的 ro asp.net 任何有关此的链接将不胜感激。提前谢谢你。

0 投票
1 回答
807 浏览

c# - 如何避免在asp.net动态数据脚手架中插入重复记录?

在asp.net动态数据脚手架插入sql server数据库之前,如何创建一个通用的实用方法来处理避免重复记录插入?

0 投票
0 回答
33 浏览

c# - 如何在文本框中添加asp:动态控件值

我在更新面板内的客户端上有一个动态控件和一个文本框,它从数据库中读取数据

单击按钮时,它应该从动态控件中获取值并显示在文本框中

服务器端

还尝试了 UpdatePanel1.Update();

注意:Button1 在更新面板之外

请需要解决方案

更新客户端代码