小编And*_*ett的帖子

转发器内动态控件的viewstate问题

我最近在使用转发器时遇到了一个问题,我正在添加动态控件,虽然我有一个功能正常的解决方法,但我想知道是否有更好的方法可以做这是为了我的理解.我已经使用ASP.NET大约6个月了,每次我认为我的页面生命周期/视图状态完全被认为是一些我无法回答的问题.

我正在创建一个表单,用户可以注册他们对活动的兴趣,并注册多个人.

aspx类似于:

<asp:Repeater ...>
    <bunch of formatting and always there controls like firstname/lastname/address>
    <asp:PlaceHolder ...>
        <dynamic controls for workshop selection go here>
    </asp:PlaceHolder>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

活动可以举办用户可以注册的研讨会,研讨会的可用性取决于他们选择参加活动的日期.研讨会的可用性取决于日期,因此他们在选择日期之前不能选择研讨会.

无论如何,我添加的动态控件基本上是一堆文字和一堆单选按钮组.

我首先在ItemDataBound事件处理程序中添加控件,但是当我将转发器项目保存回我的委托列表时,单选按钮的ViewState从未更新过.ItemTemplate中引用的所有字段都处理得很好,但不是我动态添加的单选按钮.

我尝试使用ItemCreated事件,在那里添加我的按钮,但这似乎没有任何区别.最后,我决定采用一种基于的解决方法.基本上我只是在文字中输出HTML输入字段并从请求中读取它们.

这一切现在都很完美,而且我对功能感到满意,只需要将单选按钮直接输出为HTML输入而不是使用服务器端控件,这看起来真的很脏.有没有人知道为什么ViewState没有正确恢复?

为了清楚起见,每次都以相同的顺序重新创建控件,并正确设置ID.我在整个地方使用动态控件并且它们工作正常,当我将它们添加到转发器中时,我无法让它们在这种情况下工作.

//更多澄清

我无法在Page.Init中创建这些控件,因为用户选择导致回发的日期,我必须在创建动态控件之前等待该控件的视图状态加载.

c# asp.net

7
推荐指数
1
解决办法
4867
查看次数

使用min(datetime)了解SQL Server行为

(长话短说,我只是一个愚蠢的假设,我确定一个专栏是一个约会时间而不是 - 所以不要指望在这个问题上找到任何有趣的东西,留在这里让dems得到他的正当接受回答)

我写了一个这样的简单查询:

SELECT ID, MIN(DateMadeActive) AS DateMadeActive
FROM RecordStateField WHERE RecordStatusID in (2, 3)
GROUP BY ID
Run Code Online (Sandbox Code Playgroud)

DateMadeActive是datetime列.这回归了我的预期:

ID  DateMadeActive
1   20/06/2011 16:15:04
2   20/06/2011 16:14:28
Run Code Online (Sandbox Code Playgroud)

现在我将它插入到一个新表中,但是将MIN(DateMadeActive)的结果插入到另一个表的datetime列中时给了我这个错误:

Msg 8115, Level 16, State 2, Line 1
Arithmetic overflow error converting expression to data type datetime.
Run Code Online (Sandbox Code Playgroud)

所以为了测试这个我改变我的选择:

SELECT ID, CAST(Min(DateMadeActive) as datetime) AS DateMadeActive
FROM RecordStateField WHERE RecordStatusID in (2, 3)
GROUP BY ID
Run Code Online (Sandbox Code Playgroud)

同样的例外.我可以像这样写它并让它工作:

SELECT ID, CONVERT(datetime, Min(DateMadeActive), 103) AS DateMadeActive
FROM RecordStateField WHERE RecordStatusID in (2, 3)
GROUP …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

3
推荐指数
1
解决办法
554
查看次数

标签 统计

asp.net ×1

c# ×1

sql ×1

sql-server ×1