zoukankan
html css js c++ java
动态加载控件疑惑。。。。
这是在页面的代码:
1
string
IDX
=
""
;
IDX
=
Request.QueryString[
"
IDX
"
];
c_EditItem
=
(EditItem)Page.LoadControl(
"
ProductBarcodeControls/EditItem.ascx
"
);
c_EditItem.PK_ID
=
IDX;
this
.Web_contaner.Controls.Add(c_EditItem);
c_EditItem.setRunningType(ActionType.UpdatedBarcodeItem);
这里是用户控件中runingType的代码
2
public
void
setRunningType(
string
rtype)
{
switch
(rtype)
{
case
ActionType.UpdatedBarcodeItem:
SetLableToText();
code_txt.EditEnable
=
false
;
Action_pal.Visible
=
true
;
add_btn.Visible
=
false
;
this
.BindList();
break
;
case
ActionType.ViewBarcodeItem:
Action_pal.Visible
=
false
;
this
.BindList();
break
;
}
}
这里是梆定数据的代码
3
DataRow Row
=
this
.myCode.getBarcodeByIDX(
this
.PK_ID);
code_txt.Text
=
Row[BarcodeData.Code_FIELD].ToString();
partNo_txt.Text
=
Row[BarcodeData.PartNo_FIELD].ToString();
UpdatePartNO_txt.Text
=
Row[BarcodeData.NewPartNo_FIELD].ToString();
StandardPartNO_txt.Text
=
Row[BarcodeData.StandPartNO_FIELD].ToString();
Customer_txt.Text
=
Row[BarcodeData.Customer_FIELD].ToString();
status_rdb.SelectedValue
=
Row[BarcodeData.Status_FIELD].ToString().Trim().ToLower();
remark_txt.Text
=
Row[BarcodeData.Remark_FIELD].ToString();
LabelType_txt.Text
=
Row[BarcodeData.LabelType_FIELD].ToString();
LableDescritiop_txt.Text
=
Row[BarcodeData.LabelDescription_FIELD].ToString();
Description_txt.Text
=
Row[BarcodeData.Description_FIELD].ToString();
UpdateDesc_txt.Text
=
Row[BarcodeData.NewDescription_FIELD].ToString();
这里是按下update后更新的代码
4
DataRow Row
=
this
.myCode.getBarcodeByIDX(
this
.PK_ID);
Row[BarcodeData.PartNo_FIELD]
=
partNo_txt.Text.Trim();
Row[BarcodeData.NewPartNo_FIELD]
=
UpdatePartNO_txt.Text.Trim();
Row[BarcodeData.StandPartNO_FIELD]
=
StandardPartNO_txt.Text.Trim();
Row[BarcodeData.Customer_FIELD]
=
Customer_txt.Text.Trim();
Row[BarcodeData.Status_FIELD]
=
status_rdb.SelectedValue;
Row[BarcodeData.Remark_FIELD]
=
remark_txt.Text.Trim();
Row[BarcodeData.LabelType_FIELD]
=
LabelType_txt.Text.Trim();
Row[BarcodeData.LabelDescription_FIELD]
=
LableDescritiop_txt.Text.Trim();
Row[BarcodeData.Description_FIELD]
=
Description_txt.Text.Trim();
Row[BarcodeData.NewDescription_FIELD]
=
UpdateDesc_txt.Text.Trim();
Row[BarcodeData.LastModify_FIELD]
=
System.DateTime.Now;
Row.AcceptChanges();
我点击update按钮更新数据的顺序通过跟踪是
1-2-3-4
这里有个逻辑错误:
即 第3步不该执行。
按照我的想法,
数据不会被更新,因为在3步的时候重新绑定了数据。
可是结果相反,数据得到更新。
正常的逻辑应该是
1-2-4
虽然我不知道微软怎么样处理的,我按照正确的逻辑重写了2步
case
ActionType.UpdatedBarcodeItem:
SetLableToText();
code_txt.EditEnable
=
false
;
Action_pal.Visible
=
true
;
add_btn.Visible
=
false
;
if
(
!
IsPostBack)
this
.BindList();
break
;
表示在post时候,不在page load的时候重新绑定数据
查看全文
相关阅读:
JS中的this指向问题
Jinja2用法总结
Kafka 生产者 拦截器
Kafka 生产者 工作流程和Demo示例
Kafka 验证集群部署和吞吐量测试
Kafka 线上环境部署需要考虑的因素
Kafka单点环境安装
Kafka和Confluent的关系
Kafka 概要设计
ActiveMQ 介绍安装使用入门
原文地址:https://www.cnblogs.com/king_astar/p/91736.html
最新文章
“随手记”开发记录day04
“随手记”开发记录day03
“随手记”开发记录day02
“随手记”开发记录day01
联赛模拟测试17(T3 简单的填数未补)
联赛模拟测试16(A&C未补)
联赛模拟测试15
欧拉函数线性求解以及莫比乌斯反演(Mobius)
浅析点分治实现过程及时间复杂度
0924模拟赛总结
热门文章
C++11 随机数生成器
.vimrc
关于wsgi协议的理解
算法常见问题
MySQL常见问题
python实现贪婪算法解决01背包问题
Ubuntu14.16.18更新源
ubuntu16.4+nginx+uwsgi+Django 部署上线
什么是ORM?
JS实现自定义排序
Copyright © 2011-2022 走看看