Asp.net 页面加载时是否更改ListView数据源ID?
这是我的项目,我有一个列表视图。显示文章或手写的评论。 我有两个sqldatasource,编号为2(用于文章)和3(用于手写)。 我想在页面加载和显示其他注释时更改数据源id。 默认的listview数据源ID为sqldatasource2,它可以工作,但将sqldatasource2更改为sqldatasource3时,它们无法工作。 这是sqldatasource2的select命令Asp.net 页面加载时是否更改ListView数据源ID?,asp.net,listview,Asp.net,Listview,这是我的项目,我有一个列表视图。显示文章或手写的评论。 我有两个sqldatasource,编号为2(用于文章)和3(用于手写)。 我想在页面加载和显示其他注释时更改数据源id。 默认的listview数据源ID为sqldatasource2,它可以工作,但将sqldatasource2更改为sqldatasource3时,它们无法工作。 这是sqldatasource2的select命令 <asp:SqlDataSource ID="SqlDataSource2" runa
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$
ConnectionStrings:myconnection_sql %>" SelectCommand="SELECT [name], [date], [text]
FROM [comment] WHERE ([idarticle] = @idarticle)">
在第二个条件下,
ListView1
中显示了什么?我有一个带有两个字段的评论表。当用户为文章添加评论时,我给出了文章的id并存储在idarticle字段中,当为手写添加评论时,保存到IDHandwrite并将其他字段设置为null。在第二个条件下,类型
变量包含哪些内容????“手写的”还是“手写的”???
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$
ConnectionStrings:myconnection_sql %>" SelectCommand="SELECT [name], [date], [text]
FROM [comment] WHERE ([idhandwritten] = @idarticle)">
protected void Page_Load(object sender, EventArgs e)
{
try
{
int id = Convert.ToInt32(Request.QueryString.Get("id"));
SqlConnection con = new
SqlConnection(ConfigurationManager.ConnectionStrings
["myconnection_sql"].ConnectionString);
SqlCommand cmd = new SqlCommand("select type from article_handwritten where
id=@id");
cmd.Parameters.Add("@id", SqlDbType.Int).Value = id;
SqlDataAdapter da = new SqlDataAdapter();
DataTable dt = new DataTable();
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
da.SelectCommand = cmd;
da.Fill(dt);
string type = dt.Rows[0]["type"].ToString();
if (type == "Article")
{
ListView1.DataSourceID = "SqlDataSource2";
ListView1.DataBind();
}
else if (type == "handwritten")
{
ListView1.DataSourceID = "SqlDataSource3";
ListView1.DataBind();
}
con.Close();
}
catch
{
}