我在一個asp.net listview中,在itemtemplate中。asp.net(4)listview給我帶來生成id的麻煩
<asp:ListView runat="server" ClientIDMode="Predictable" ClientIDRowSuffix="Texttranslations_key"ID="lvwTextitems">
這是我在ItemTemplate代碼:
<span runat="server" onclick="openDiv('<%= EditItemDiv.ClientID%>')" style="width: 450px;"><%# Eval("Translation")%></span>
<asp:panel runat="server" id="EditItemDiv" style="display:none">
<asp:TextBox runat="server" ID = "EditItemArea" TextMode ="MultiLine" Rows="12" Columns="50" Text="<%# Eval("Translation")%>">
</asp:TextBox>
現在我有兩個問題。 首先跨度:我想在函數openDiv()中的asp:面板的clientID,所以我可以創建一些show hide功能。 不過,我得到這個結果爲:
<span onclick="openDiv('<%= EditItemDiv.ClientID%>')" style="width: 450px;">
我的代碼不被視爲代碼,但作爲純文本,我不知道爲什麼?
其次,此行讓我一個運行時錯誤(服務器標記的格式不正確):
<asp:TextBox runat="server" ID = "EditItemArea" TextMode ="MultiLine" Rows="12" Columns="50" Text="<%# Eval("Translation")%>">
有人可以幫我嗎?
PS 起初我使用此代碼爲ID的產生: 「身份識別碼<%#的eval(」 ID 「)%>」,但沒有鍛鍊要麼...
PS 我「M總是讓在麻煩使用eval和<%#%>的時候,所以它可能是一些愚蠢的事(我希望)
您的Eval格式不正確的問題是由於您使用雙引號來包裝Eval和Eval中的項目名稱。這將工作︰Text ='<%#Eval(「Translation」)%>'通知我用單引號包裝Eval,同時保持雙引號 – 2011-01-10 14:19:19