c# - 第二次 onCommand 事件后 FormView 丢失数据
问题描述
如果我第二次单击填充它的按钮,我试图了解为什么 formview 会丢失数据。
我有一个带有 imagebutton 的中继器,它带有将 ID 值设置为隐藏字段的命令,并且 formview 由隐藏字段上的值自动绑定。所以基本上我单击按钮,隐藏字段获取值,formview 与数据绑定。什么没有意义,如果我第二次点击按钮,数据就会从表单视图中消失?
这是我绑定formview的地方
protected void rptADefinicaoExtrusao_ItemCommand(object source, RepeaterCommandEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.CommandName == "Completar" && e.CommandArgument.ToString() != "")
{
int id = Convert.ToInt32(e.CommandArgument);
hdfRegistoID.Value = id.ToString();
}
}
}
sql数据源
<asp:SqlDataSource
ID="sdsADefinicao"
runat="server"
ConnectionString="<%$ ConnectionStrings:ValidacaoFormas_ConnectionString %>"
UpdateCommand="sp_UPDATE_ADefinicao_Extrusao"
UpdateCommandType="StoredProcedure"
OnUpdated="sdsADefinicao_Updated"
SelectCommandType="StoredProcedure"
SelectCommand="sp_SELECT_ADefinicao">
<SelectParameters>
<asp:ControlParameter ControlID="hdfRegistoID" Name="RegistoID" Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:ControlParameter ControlID="fvADefinicao" Name="ID_Registo" Type="Int32" />
<asp:Parameter Name="Base_Cru" Type="String" />
<asp:Parameter Name="Linha_Cru" Type="String" />
<asp:Parameter Name="Diametro_Cru" Type="Decimal" />
<asp:Parameter Name="Espessura_Cru" Type="Decimal" />
<asp:Parameter Name="Comprimento_Cru" Type="Decimal" />
<asp:Parameter Name="Marcacao_Continua_Cru" Type="String" />
<asp:Parameter Name="ID" Type="Int32" Direction="Output" />
</UpdateParameters>
</asp:SqlDataSource>
我的表单视图基本上是为了保持简短
<asp:FormView
runat="server"
ID="fvADefinicao"
DataKeyNames="ID_Registo"
DataSourceID="sdsADefinicao"
DefaultMode="Edit"
HorizontalAlign="Center"
OnItemUpdated="fvADefinicao_ItemUpdated"
Style="width: 100%; max-width: 1200px;">
<EditTemplate>
Stuff...
</EditTemplate>
</asp:FormView>
因此,在 hiddenfield 获取值并解决问题后,我尝试直接从 codebehind 对 formview 进行数据绑定。但是还有另一种方法吗?我正在尝试减少代码隐藏的代码量。
更新:
我发现是什么导致表单视图丢失数据,如果字段集被禁用,在第二次单击按钮后数据消失。如果我将文本框设置为只读它不会消失
解决方案
推荐阅读
- java - JSP 注销 HTTP 状态 404 - 未找到
- rust - 为什么 Rust 编译器在循环初始化数组时会给出未初始化变量错误?
- ios - 使用深层链接打开应用程序时无法在 WKWebView 中加载新 url
- python - 视图 core.views.postcodes 没有返回 HttpResponse 对象。它返回 None 而不是
- typescript - 使用 Visual Studio Code 设置打字稿的问题
- javascript - 在自定义 atom 包中运行终端命令
- react-native - 对从父模式到子模式的本地传递数据做出反应
- mysql - 按产生的收入金额对月份进行排序 SQL
- ffmpeg - 问:FFMPEG - 应用三个过滤器 - 三个运行 FFMPEG 还是一个?
- java - 如何在 SWT 中绘制非常简单的水平条形图?