加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET数据从代码隐藏双向双向绑定

发布时间:2020-12-16 00:05:07 所属栏目:asp.Net 来源:网络整理
导读:所以对于ASP中的双向(双向)数据绑定,我们这样做…… asp:textbox id="txtField" runat="server" text='%# Bind("SomeField") %'/asp:textbox SomeField位于DetailsView的DataSource上,作为文本框的容器. 或者,我可以从代码隐藏(使用文本框的OnDataBinding事
所以对于ASP中的双向(双向)数据绑定,我们这样做……
<asp:textbox id="txtField" runat="server" 
    text='<%# Bind("SomeField") %>'>
</asp:textbox>

SomeField位于DetailsView的DataSource上,作为文本框的容器.

或者,我可以从代码隐藏(使用文本框的OnDataBinding事件)执行此操作:

protected void SomeField_OnDataBinding(object sender,EventArgs e)
{ 
  ((TextBox)sender).Text = Eval("SomeField").ToString();
}

但是,EVAL是只读的……如何从代码隐藏中指定Bind(双向)?

解决方法

我已经设法为我的“边缘案例”找到了解决办法.

我正在使用LLBLGen子类型,因此需要根据用户选择的radiobutton过滤器切换detailsview的数据源.

我尝试使用<%#Bind(...)在ASP中“声明性地”绑定到子类型字段
这没用.

我必须解决一个代码隐藏的“黑客”,我使用details_view预渲染方法在detailsview中有条件地显示控件.

对于每个字段,我然后在OnDataBinding中有条件地设置它的单向(只读)绑定…

e.g. ((TextBox)sender).Text = Eval("FilePrefix").ToString();

最终将数据推入数据源,我破解了DetailsView OnItemInserting / Updating事件(有条件地)…

e.Values["FilePrefix"] = txtFilePrefix.Text;

在这次黑客攻击后我感觉很脏,我想我需要淋浴……

我仍然希望有人可以提供更清洁的方法:-)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读