<asp:TemplateColumn>
<ItemTemplate>
<%# ((int)(用这个参数 - ((TimeSpan)(DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem, "NewsDate"))).TotalDays))%>
</ItemTemplate>
</asp:TemplateColumn> public string Count(string OldTime)
{
SqlConnection con = DB.createCon();
con.Open();
SqlCommand cmd = new SqlCommand("select NewsSort from NewsInfo", con);
string NewsSort = Convert.ToString(cmd.ExecuteReader());
if (NewsSort == "A")
{
OldTime = "60";
}
if (NewsSort == "B")
{
OldTime = "30";
}
if (NewsSort == "C")
{
OldTime = "15";
}
return OldTime;
}
目的是,在后台定义一个参数,对这个参数进行判断再赋值,然后在前天把这个参数绑定到DataGrid的模板列中进行一个减法运算.现在问题是这个怎么在后台定义这个参数给前台调用?我上面试写的后台代码好象是个方法,但也不对,求高人帮我写一个.
<ItemTemplate>
<%# ((int)(用这个参数 - ((TimeSpan)(DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem, "NewsDate"))).TotalDays))%>
</ItemTemplate>
</asp:TemplateColumn> public string Count(string OldTime)
{
SqlConnection con = DB.createCon();
con.Open();
SqlCommand cmd = new SqlCommand("select NewsSort from NewsInfo", con);
string NewsSort = Convert.ToString(cmd.ExecuteReader());
if (NewsSort == "A")
{
OldTime = "60";
}
if (NewsSort == "B")
{
OldTime = "30";
}
if (NewsSort == "C")
{
OldTime = "15";
}
return OldTime;
}
目的是,在后台定义一个参数,对这个参数进行判断再赋值,然后在前天把这个参数绑定到DataGrid的模板列中进行一个减法运算.现在问题是这个怎么在后台定义这个参数给前台调用?我上面试写的后台代码好象是个方法,但也不对,求高人帮我写一个.
public string xx
{
get
{
return (string)ViewState["xx"];
}
set
{
ViewState["xx"] = value;
}
}
{
get
{
return int.Parse(ViewState["xx"].ToString());
}
set
{
ViewState["xx"] = value;
}
}
如果从数据库中查出NewsSort=B,那么定义的属性值要为30;
……然后在前台的DateGrid模板列中调用这个属性。
<ItemTemplate>
<%# ((int)(用这个参数 - ((TimeSpan)(DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem, "NewsDate"))).TotalDays))%>
</ItemTemplate>改成:<ItemTemplate>
<%# ((int)(xx - ((TimeSpan)(DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem, "NewsDate"))).TotalDays))%>
</ItemTemplate>看看
public string OldTime
{
get
{
SqlConnection con = DB.createCon();
con.Open();
SqlCommand cmd = new SqlCommand("select RegisteredCategory from ProjectInfo", con);
string RegisteredCategory = Convert.ToString(cmd.ExecuteReader());
if (RegisteredCategory == "国家")
{
OldTime = "60";
}
if (RegisteredCategory == "地区")
{
OldTime = "30";
}
if (RegisteredCategory == "城市")
{
OldTime = "15";
}
return (string)ViewState["OldTime"];
}
set
{
ViewState["OldTime"] = value;
}<%# ((int)(Convert.ToInt32(OldTime) - ((TimeSpan)(DateTime.Now - (DateTime)DataBinder.Eval(Container.DataItem, "RegisteredDate"))).TotalDays))%>
上面的代码不知道哪里错了,运算结果不对.
是判断那里出错误了?还是在转换Convert.ToInt32(OldTime)时错了?
case RegisteredCategory
when '国家' then 60
when '地区' then 30
when '城市' then 15
end as oldtime
from ProjectInfo