CodeGo.net> C#-数据集-类模型-如何从数据集获取布尔值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CodeGo.net> C#-数据集-类模型-如何从数据集获取布尔值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3253字,纯文字阅读大概需要5分钟。
内容图文
![CodeGo.net> C#-数据集-类模型-如何从数据集获取布尔值](/upload/InfoBanner/zyjiaocheng/688/3638379ea70e4dc793ddb5c79b16ad32.jpg)
我是C#和ASP.net的新手.我是ColdFusion程序员,但我正在使用ASP.net.
我将提供详细信息,然后提出我的问题….
我已经能够从服务层类文件(或业务逻辑层)后面的代码中调用的地方得到它,然后在其中调用数据访问层类文件.我一直在从数据访问层发送回数据集,然后在将代码移动到表的代码背后中,以便可以逐行读取它.
我正在寻找一种在“编辑”屏幕上获取布尔值的方法,以便在找到此帖子时将复选框设置为选中状态.
C# Assigning a value to DataRow[“haswhatnots”] = hasWhatnots is awful slow
我看到有人提到他们应该…
或者-如果我认为是的话,请使用类模型而不是听起来不错的DataTable.
做CRUD屏幕的最佳方法是什么,您可以使用Class文件拉回数据,并且数据应采用哪种格式?
我习惯了在ColdFusion中将数据返回到QuerySet中,然后我们可以遍历它.我们可以将其查询转换为结构数组或对象数组,XML或JSon,但是我仍然遇到一些问题,当我取回数据时,我仍然无法理解如何从数据集中获取数据.我现在得到的字符串数据很好,但是也许有一个非常简单的示例,可能只有一页…
我想弄清楚如何立即获取布尔值是我当前的问题.
谢谢你的帮助,
内森
附言如果有更好的更专业的方法可以让我知道.我想继续使用(Presentation / CodeBehind / Service / Data Access)类型的图层.
Protected void Page_Load(Object sender, EventArgs e)
{
if(!IsPostBack)
{
DataTable dt = new DataTable();
DataRow dr;
PageService myPage = new PageService();
DataSet ds = myPage.getPages();
int rowCount = ds.Tables[0].Rows.Count;
ds.Columns.Add(new DataColumn("PageID", typeof(Int32)));
ds.Columns.Add(new DataColumn("Name", typeof(String)));
ds.Columns.Add(new DataColumn("PageHTMLContent", typeof(String)));
ds.Columns.Add(new DataColumn("NavigationText", typeof(String)));
ds.Columns.Add(new DataColumn("TopMenu", typeof(Boolean)));
ds.Columns.Add(new DataColumn("SubMenu", typeof(Boolean)));
ds.Columns.Add(new DataColumn("DisplayOrder", typeof(Int32)));
ds.Columns.Add(new DataColumn("Active", typeof(Boolean)));
for (int i = 0; i < rowCount; i++)
{
dr = dt.NewRow();
dr[0] = i;
dr[1] = i.ToString;
dr[2] = i.ToString;
dr[3] = i.ToString;
dr[4] = i; // Not sure what to do here for the Boolean Value
dr[5] = i; // Not sure what to do here for the Boolean Value
dr[6] = i;
dr[7] = i; // Not sure what to do here for the Boolean Value
}
ds.Tables.Add(dt);
foreach (DataRow dataRow in ds.Tables[0].Rows)
{
PageIDHiddenField.Value = dataRow["PageID"];
NameTextBox.Text = dataRow["Name"].ToString();
PageHTMLContentTextBox.Text = dataRow["PageHTMLContent"];
NavigationTextTextBox.Text = dataRow["NavigationText"];
TopMenuCheckBox.Checked = dataRow["TopMenu"]; // Not sure what to do here for the Boolean Value
SubMenuCheckBox.Checked = dataRow["SubMenu"]; // Not sure what to do here for the Boolean Value
DisplayOrder.Text = dataRow["DisplayOrder"].ToString();
ActiveCheckBox.Checked = dataRow["Active"]; // Not sure what to do here for the Boolean Value
}
}
}
解决方法:
您需要将值转换为正确的类型.由于dataRow的indexer属性将返回object类型的对象,因此您需要将其强制转换为正确的类型.因此,您需要像这样将其强制转换为布尔值:
TopMenuCheckBox.Checked = (bool)dataRow["TopMenu"];
要执行一个循环以遍历DataSet中的行,您可以执行以下操作:
DataSet ds = myPage.getPages();
foreach (DataRow row in ds.Tables[0].Rows)
{
PageIDHiddenField.Value = row["PageID"];
NameTextBox.Text = (string)row["Name"];
...
TopMenuCheckBox.Checked = (bool)row["TopMenu"];
}
您可以使用DataRow的indexer属性来获取特定的列.
内容总结
以上是互联网集市为您收集整理的CodeGo.net> C#-数据集-类模型-如何从数据集获取布尔值全部内容,希望文章能够帮你解决CodeGo.net> C#-数据集-类模型-如何从数据集获取布尔值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。