私はItemDataBoundの助けを借りてlisviewとバインディングデータを使用しています。リストビューメソッドが機能しない
問題:ラベルをクリックすると関連するデータが表示されますが、他のデータをクリックすると1番目と2番目のアイテムに関するデータが表示され、これが終了するまで続きます。
をSelectedIndexChangingという方法でリストをクリアしようとしましたが、これは機能しませんでした。
これを解決するのを手伝ってください。
aspx.csコード
public string getvalue(int ID)
{
Tbl_Multiple_Video_Master obj = DB.Tbl_Multiple_Video_Master.Single(p => p.VID == ID);
if (obj.IsUrl == false)
{
string Link = "<iframe id=\"paidVideo\" src=\"https://de122v0opjemw.cloudfront.net/utils/embedplayer.php?enablejsapi=1&video=" + obj.Name+"\" height=\"300\" width=\"500\"></iframe>";
return Link;
}
else
{
return "<iframe id=\"cartoonVideo\" width=\"560\" height=\"315\" src=\"" + obj.Name + "\" frameborder=\"0\" allowfullscreen ></iframe>";
}
}
protected void listviedo_ItemCommand(object sender, ListViewCommandEventArgs e)
{
Literal lblvedio = (Literal)e.Item.FindControl("lblvedio");
if (e.CommandName == "Select")
{
int ID = Convert.ToInt32(e.CommandArgument);
Database.Tbl_Multiple_Video_Master obj = DB.Tbl_Multiple_Video_Master.Single(p => p.VID == ID);
if (obj.IsUrl == false)
{
lblvedio.Visible = true;
string Link = "<iframe id=\"paidVideo\" src=\"https://de122v0opjemw.cloudfront.net/utils/embedplayer.php?enablejsapi=1&video=" + obj.Name + "\" height=\"300\" width=\"500\"></iframe>";
}
else
{
lblvedio.Visible = true;
string Link = "<iframe id=\"cartoonVideo\" width=\"560\" height=\"315\" src=\"" + obj.Name + "\" frameborder=\"0\" allowfullscreen ></iframe>";
}
}
}
protected void listviedo_ItemDataBound(object sender, ListViewItemEventArgs e)
{
Label lblid = (Label)e.Item.FindControl("lblid");
LinkButton linkresuume = (LinkButton)e.Item.FindControl("linkresuume");
int ID = Convert.ToInt32(lblid.Text);
Database.Tbl_Multiple_Video_Master objcar = DB.Tbl_Multiple_Video_Master.Single(p => p.VID == ID);
}
protected void listviedo_SelectedIndexChanged(object sender, EventArgs e)
{
if (listviedo.SelectedIndex > -1)
{
SelectedVideo.Text = "Selected Video is : " + listviedo.SelectedValue.ToString();
}
else
{
SelectedVideo.Text = "Please Select a Video" + listviedo.SelectedIndex.ToString();
}
}
protected void listviedo_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
{
listviedo.Items.Clear();
}
protected void listviedo_ItemCommand(object sender, ListViewCommandEventArgs e)
{
Literal lblvedio = (Literal)e.Item.FindControl("lblvedio");
if (e.CommandName == "Select")
{
int ID = Convert.ToInt32(e.CommandArgument);
Database.Tbl_Multiple_Video_Master obj = DB.Tbl_Multiple_Video_Master.Single(p => p.VID == ID);
if (obj.IsUrl == false)
{
lblvedio.Visible = true;
string Link = "<iframe id=\"paidVideo\" src=\"https://de122v0opjemw.cloudfront.net/utils/embedplayer.php?enablejsapi=1&video=" + obj.Name + "\" height=\"300\" width=\"500\"></iframe>";
}
else
{
lblvedio.Visible = true;
string Link = "<iframe id=\"cartoonVideo\" width=\"560\" height=\"315\" src=\"" + obj.Name + "\" frameborder=\"0\" allowfullscreen ></iframe>";
}
}
}
protected void listviedo_ItemDataBound(object sender, ListViewItemEventArgs e)
{
Label lblid = (Label)e.Item.FindControl("lblid");
LinkButton linkresuume = (LinkButton)e.Item.FindControl("linkresuume");
int ID = Convert.ToInt32(lblid.Text);
Database.Tbl_Multiple_Video_Master objcar = DB.Tbl_Multiple_Video_Master.Single(p => p.VID == ID);
}
protected void listviedo_SelectedIndexChanged(object sender, EventArgs e)
{
if (listviedo.SelectedIndex > -1)
{
SelectedVideo.Text = "Selected Video is : " + listviedo.SelectedValue.ToString();
}
else
{
SelectedVideo.Text = "Please Select a Video" + listviedo.SelectedIndex.ToString();
}
}
protected void listviedo_SelectedIndexChanging(object sender, ListViewSelectEventArgs e)
{
listviedo.Items.Clear();
}
ASPXコード
<asp:ListView ID="listviedo" runat="server"
DataKeyNames="VideoName"
OnItemCommand="listviedo_ItemCommand"
OnItemDataBound="listviedo_ItemDataBound"
OnSelectedIndexChanged="listviedo_SelectedIndexChanged"
OnSelectedIndexChanging="listviedo_SelectedIndexChanging" >
<ItemTemplate>
<div>
<table>
<tr style="border:solid;">
<td style="border:solid;">
<asp:Literal ID="lblvedio" runat="server" Visible="false" Text='<%# getvalue(Convert.ToInt32(Eval("VID")))%>'></asp:Literal>
</td>
</tr>
<tr>
<td style="border:solid;">
<span>
<asp:LinkButton runat="server" ID="lnkname" CommandName="Select" CommandArgument='<%# Eval("VID") %>'>
<asp:Label ID="lblname" runat="server" Text='<%# Eval("VideoName")%>'></asp:Label>
<asp:Label ID="lblid" runat="server" Visible="false" Text='<%# Eval("VID")%>'></asp:Label>
</asp:LinkButton>
</span>
</td>
</tr>
</table>
</div>
</ItemTemplate>
</asp:ListView>
の可能性のある重複[C#をクリアリストビュー内のすべての項目が(http://stackoverflow.com/questions/435379/c-sharp-clear-all-items-in-listview) – bxc00zzy
バギーコードであります?あなたが壊れたコードを表示しないと、どのように助けを受けることになっていますか?投稿する[MCVE] – Steve
それはエラーを表示していませんが、リストが明確になっていません... :( –