わかりやすく説明してください。私の問題を理解していただければ幸いです。
私のaspxページでは、クライアントがファイルをルートフォルダーにアップロードできます(ファイルのすべての拡張子を許可します)。次に、その aspx ページには、アップロードされたすべてのファイルを表示する Repeater コントロールがあります。
エディター コントロールで編集できるファイルを検出する方法を見つけるのに苦労しています。
例えば:if item= xml file --> show Edit Text
if item= source code file ---> show Edit Text
functionではRepeater1_ItemDataBound
、最後のelse if
ステートメントで、項目が次の場合に必ず関数が追加されEdit Text
ます: テキストファイル、ソース コード、xml ファイル... もっともっと...
以下の私のコードでは、ファイルの拡張子を指定できますが、それでは十分ではありません。
ヘルプ!!!
よくわからなかったら聞いてください!!!
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand"
OnItemDataBound="Repeater1_ItemDataBound">
<ItemTemplate>
<tr>
<td>
<asp:Label ID="imagelabel" runat="server" Text=""></asp:Label>
</td>
<td>
<asp:LinkButton ID="lnkFolder" runat="server" Text='<%# Eval("Name") %>' CommandName="Select"></asp:LinkButton>
</td>
<td >
<asp:LinkButton ID="LinkButton1" runat="server" Text="<img src='pic/trash.png'/> Delete" CommandArgument='<%# Eval("Path") +"," + Eval("Type")%>'CommandName="Delete"> </asp:LinkButton>
</td>
<td>
<asp:LinkButton ID="LinkButton2" runat="server" Text="<img src='pic/gear--pencil.png'/> Rename" CommandArgument='<%# Eval("Path") + "," + Eval("Type") + "," + Eval("Name")%>'CommandName="Edit"></asp:LinkButton>
</td>
<td>
asp:LinkButton ID="lbtnEditText" runat="server" Text="" CommandArgument='<%# Eval("Path") + "," + Eval("Name")%>'CommandName="EditText" OnCommand="Button1_Click"></asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
私のRepeater1_ItemDataBound
機能を見てください:
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (((DataRowView)e.Item.DataItem).Row["Type"].ToString() == "D")// if item= folder
{
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/folder.png'>";
}
else
{
string fileExtension = ((DataRowView)e.Item.DataItem).Row["Extension"].ToString();
if (fileExtension.Equals(".gif") || fileExtension.Equals(".jpg") || fileExtension.Equals(".png"))
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/gallery.jpg'>";
else if (fileExtension.Equals(".doc") || fileExtension.Equals(".docx"))
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/doc.gif'>";
else if (fileExtension.Equals(".pdf"))
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/pdf.gif'>";
else if (fileExtension.Equals(".xls"))
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/excel.gif'>";
else if???
{
((Label)e.Item.FindControl("imagelabel")).Text = "<img src='pic/Text.gif'>";
//add Edit Text function here
((LinkButton)e.Item.FindControl("lbtnEditText")).Text = "<img src='pic/pe.png'/> Edit Text";
}
}
}