急用!! 代码优化、、
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Bind();
}
}
private void Bind()
{
int id = Convert.ToInt32(Request.QueryString["id"]);
//显示发布任务的详细信息
DataTable dt = using_bll.selectByTaskID(id);
string content = "";
foreach (DataRow dr in dt.Rows)
{
content = Convert.ToString(dr[0]);
}
this.TB_requre.Text = content;
//显示留言信息
DataTable chat_dt = using_bll.selectChatByTaskid(id);
this.DL_show.DataSource = chat_dt;
this.DL_show.DataBind();
//显示提交任务这的详细信息
DataTable summit_dt = using_bll.showSummiter(id);
this.DL_img.DataSource = summit_dt;
this.DL_img.DataBind();
}
这是我在页面加载是写的代码,有三个数据控件需要绑定数据。。两个DataList 一个GridView
怎样实现一次性绑定呢。。优化代码呢、、
------解决方案--------------------除了语句外,没多大可优化的。
------解决方案--------------------没什么可优化。
------解决方案--------------------有几句可以改为:
C# code
//string content = "";
//foreach (DataRow dr in dt.Rows)
//{
// content = Convert.ToString(dr[0]);
//}
this.TB_requre.Text = dt.Rows[0][0].ToString(); // content;
------解决方案--------------------
没有可大的优化,只能优化的sql语句
foreach (DataRow dr in dt.Rows)
{
content = Convert.ToString(dr[0]);
}
改成
if (dt.Rows.Count > 0)
{
content = dt.Rows[0][0].ToString();
}
//显示发布任务的详细信息
DataTable dt = using_bll.selectByTaskID(id);
这个应该返回一个 string就行了,不需要datatale
------解决方案--------------------
对的。
string content = "";
foreach (DataRow dr in dt.Rows)
{
content = Convert.ToString(dr[0]);
}
this.TB_requre.Text = content;
就取出1条数据的话,为什么要foreach
------解决方案--------------------