我最近的任务是为我们的小组学习EF 6和网络表格脚手架。大多数事情对我来说都很完美,即使我已经准备好讨厌它,我也不会。有几件事我不能按照我希望的方式开展工作。当我构建一些CRUD页面时,它工作得很好,但我想在“插入”页面上设置一些默认值。我能够在构造函数或属性中设置值,但是在单击事件添加项之前,它们不会转到插入页面。我已经尝试了各种方法来想出一个可以在我的对象和动态控件上工作的注释。到目前为止,我无法做任何事情。我实际上可以删除动态控件并添加我自己的控件并将其添加到insert方法中的对象,但这感觉不对。还有另一种方法吗?
具体而言,我尝试做的事情是在创建时间的30天内根据DateTime值在某些字段中设置默认日期。我还有州和县的下拉列表,这些下拉列表不仅仅与我正在处理的对象有关。目前我在我的DAL中使用EF6和LINQ来填充objectdatasources的下拉列表,它们工作得很好。我想将它们作为动态控件挂钩。我知道我需要[DataType]属性,但没有可供选择的下拉选项。此外,我不确定如何连接下拉菜单,以便在州火灾后让县城开火,以便各县将随着每个州的选择而改变。是否有某个教程可以涵盖这些内容。我到处搜索,找不到任何指导。
谢谢Jimmy
答案 0 :(得分:0)
由于似乎没有人知道答案我认为如果你遇到同样的问题,我会列出所需的东西来帮助你。如果您需要使用Dynamic控件中的数据,则必须进行大量转换。您必须在正在使用的容器中找到Dynamic控件并将其解析为动态控件,然后您需要深入了解该控件的控件模板并找到所需的文本框等,并将其解析为所需的控件类型并抓取或设定其价值。如果您需要保持代码安全并且必须通过Fortify或其他静态分析工具,您还必须对值进行编码,因为fortify无法看到它来自编码的控件。这成为了一个痛苦的屁股,只是继续前进并切换到标准控件并在插入中手动添加它更容易。
如果你需要知道这是如何工作的代码行是这样的。
((TextBox)(DynamicControl)fvName.FindControl("DynamicID").TemplateControl.FindControl("TextBox1")).Text;
我是手写的,所以它可能有一些不合适的地方,但这应该让你走上正轨。
麦