如何更改Datalist DatasourceID?
我正在使用带有DataSourceId =“DataSource1”的数据源绑定的ASP datalist的c#
我有一个带有以下代码的OnCommandclick事件:
protected void DataList4_ItemCommand(object source, DataListCommandEventArgs e)
{
DateTime sessionExpiry;
string getCompany, strCompany, getUser = GetID.userSession();
Label myLabel = (Label)e.Item.FindControl("EpicLabel");
string strEpic = myLabel.Text;
sessionExpiry = DateTime.MinValue;
strCompany = GetData.companyName(strEpic);
SetItem.cookie("SetAddEpic", strEpic, sessionExpiry);
switch (e.CommandName)
{
case "RatingWatchList":
if (getUser != "0")
{
SetItem.cookie("SetAddEpic", strEpic, sessionExpiry);
SetItem.cookie("SetAddCompany", strCompany, sessionExpiry);
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus",
"AddWatchListItem();", true);
}
else { ScriptManager.RegisterStartupScript(Page, GetType(),
"JsStatus", "errorMessage('Please log in to use this
function!');", true); }
break;
case "RatingAddAlert":
if (getUser != "0")
{
SetItem.cookie("SetAddCompany", strCompany, sessionExpiry);
ScriptManager.RegisterStartupScript(Page, GetType(), "JsStatus",
"AddAlert();", true);
}
else { ScriptManager.RegisterStartupScript(Page, GetType(),
"JsStatus",
"errorMessage('Please log in to use this function!');", true); }
break;
}
}
但我需要更改数据源而不从ASP datalist中删除DataSourceID,所以我不能使用c#
DataList1.datasource="NewQuery";
DataList1.DataBind();
因为删除DataSourceID时命令按钮不起作用。
答案 0 :(得分:0)
您的数据源应显示在HTML中,以便您可以转到页面的HTML部分并更改ID
<asp:SqlDataSource ID="dataSourceIdHere" runat="server">
答案 1 :(得分:0)
更新 DataSource1.SelectCommand 属性,如果已分配数据源,它将更新DataList。
答案 2 :(得分:0)
谢谢,但我需要在运行时动态更改它,所以在按钮上单击它会更改,但如果我使用DataList1.DataSource = DataQuery;我必须从ASPX(HTML)页面中删除datasourceID,这会阻止命令事件上的datalist工作。