子窗口选择多值返回至父窗口的文本框中
2012-09-13 09:48
134 查看
本次开发的专案中,有涉及至让步用户在子窗口选择一个或多个值之后,并返回至父窗口的文本框中。开发环境是Windows8 64bit + vs2012 + asp.net 4.5+ Ajax。下面是gif演示:
View Code
SortedList<int, string> ExceptionalCollection = new SortedList<int, string>();
protected void btnSelected_Click(object sender, EventArgs e)
{
//循环Repeater控件
foreach (RepeaterItem item in this.RepeaterobjExceptionalList.Items)
{
//只对Item和AlternatingItem数据行进行处理
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
//判断相关的控件是否为空,避免当控件为空,产生异常规性异常。
if (item.FindControl("tr1") != null && item.FindControl("CheckBoxId") != null && item.FindControl("Label_nbr") != null && item.FindControl("label_Name") != null)
{
//找出相关的控件
HtmlTableRow htr = (HtmlTableRow)item.FindControl("tr1");
var cb = item.FindControl("CheckBoxId") as CheckBox;
var lblnbr = item.FindControl("Label_nbr") as Label;
var lblname = item.FindControl("label_Name") as Label;
//获取相关控件的值
short nbr = Convert.ToInt16(lblnbr.Text);
string name = lblname.Text;
//如果用户选择了和集合中没有包含有对应的值,更改背景颜色和选择的值存入集合中。
if (cb.Checked && !ExceptionalCollection.ContainsKey(nbr))
{
htr.Attributes.CssStyle.Add("background-color", "#ffdab9");
ExceptionalCollection.Add(nbr, name);
}
//如果用户没作选择和集合中包含有对应的值,更改背景颜色默认颜色和从集合移除相对应的值。
if (!cb.Checked && ExceptionalCollection.ContainsKey(nbr))
{
htr.Attributes.CssStyle.Add("background-color", "");
ExceptionalCollection.Remove(nbr);
}
//最后是更新静态属性。
Exceptional.ExceptionalCollection = ExceptionalCollection;
}
}
}
string ed_Value = string.Empty;
//循环集合
foreach (KeyValuePair<int, string> kvp in ExceptionalCollection)
{
ed_Value += "; " + kvp.Value;
}
//如果集合有值,截除开始的两个字符"; "。
if (ed_Value.Length > 0)
ed_Value = ed_Value.Substring(2);
//把值赋给文本框。
this.TextBoxExceptionalDescription.Text = ed_Value;
}
本例只作为备忘,因此Insus.NET只供重点部分代码,直接帖至专案中,有可能不能直接运行。如果任何问题与意见,可以留言。
View Code
SortedList<int, string> ExceptionalCollection = new SortedList<int, string>();
protected void btnSelected_Click(object sender, EventArgs e)
{
//循环Repeater控件
foreach (RepeaterItem item in this.RepeaterobjExceptionalList.Items)
{
//只对Item和AlternatingItem数据行进行处理
if (item.ItemType == ListItemType.Item || item.ItemType == ListItemType.AlternatingItem)
{
//判断相关的控件是否为空,避免当控件为空,产生异常规性异常。
if (item.FindControl("tr1") != null && item.FindControl("CheckBoxId") != null && item.FindControl("Label_nbr") != null && item.FindControl("label_Name") != null)
{
//找出相关的控件
HtmlTableRow htr = (HtmlTableRow)item.FindControl("tr1");
var cb = item.FindControl("CheckBoxId") as CheckBox;
var lblnbr = item.FindControl("Label_nbr") as Label;
var lblname = item.FindControl("label_Name") as Label;
//获取相关控件的值
short nbr = Convert.ToInt16(lblnbr.Text);
string name = lblname.Text;
//如果用户选择了和集合中没有包含有对应的值,更改背景颜色和选择的值存入集合中。
if (cb.Checked && !ExceptionalCollection.ContainsKey(nbr))
{
htr.Attributes.CssStyle.Add("background-color", "#ffdab9");
ExceptionalCollection.Add(nbr, name);
}
//如果用户没作选择和集合中包含有对应的值,更改背景颜色默认颜色和从集合移除相对应的值。
if (!cb.Checked && ExceptionalCollection.ContainsKey(nbr))
{
htr.Attributes.CssStyle.Add("background-color", "");
ExceptionalCollection.Remove(nbr);
}
//最后是更新静态属性。
Exceptional.ExceptionalCollection = ExceptionalCollection;
}
}
}
string ed_Value = string.Empty;
//循环集合
foreach (KeyValuePair<int, string> kvp in ExceptionalCollection)
{
ed_Value += "; " + kvp.Value;
}
//如果集合有值,截除开始的两个字符"; "。
if (ed_Value.Length > 0)
ed_Value = ed_Value.Substring(2);
//把值赋给文本框。
this.TextBoxExceptionalDescription.Text = ed_Value;
}
本例只作为备忘,因此Insus.NET只供重点部分代码,直接帖至专案中,有可能不能直接运行。如果任何问题与意见,可以留言。
相关文章推荐
- 子窗口选择多值返回至父窗口的文本框中
- jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
- vb 利用API 打开文件浏览窗口 选择返回目录
- Jquery实现的弹出窗口,选择框内内容后赋值给文本框
- 如何返回弹出窗口的值到父窗口中的用户控件中的文本框中?
- js弹出一个新窗口进行选择并且返回这个页面的值-showModalDialog
- 返回N协议与选择重传协议的发送窗口大小问题
- 弹出页面选择值后返回到父窗口
- jQuery实现选中弹出窗口选择框内容后赋值给文本框的方法
- TextBox 内容由弹出窗口选择返回的实现
- 打开新窗口,并且父窗口得到新窗口的返回值,比如论坛头像的选择,对firefox同样适合
- 点击textbox弹出模态窗口,选择后返回主页面并赋值textbox
- 弹出窗口 选择 返回对象值
- js日期选择并将日期返回文本框
- ASP.NET DATAGRID中如何点击整列或模板列后弹出窗口并选中新窗口数据将值返回给模板列中的文本框
- 弹出窗口并将窗口中选择的值返回到父窗口中
- ASP.NET DATAGRID中如何点击整列或模板列后弹出窗口并选中新窗口数据将值返回给模板列中的文本框
- springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序
- JavaScript:常用内置对象window、document、form举例(定义父窗口,接收子窗口返回的内容)
- DuiVision开发教程(10)-皮肤选择窗口