0

わかりやすく説明してください。私の問題を理解していただければ幸いです。

私の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";
                }
          }
        }
4

2 に答える 2