まず、私はasp.net n00bだから私と一緒に裸。 :)asp:aspでデータリストコントロール:LinkButtonの内部 - 何か変わった
私はASP.NETを学ぼうとしている本の中で例を取り上げていますが、私はそこでは奇妙なことに遭遇しました。まず第一に、本に書かれているようにタイプすれば、VSは私にエラーを与えます。それは本に書かれているように、これはコードです:
<asp:DataList ID="employeesList" runat="server">
<ItemTemplate>
<asp:Literal ID="extraDetailsLiteral" runat="server" EnableViewState="false" />
Name: <strong><%#Eval("Name") %></strong><br />
Username: <strong><%#Eval("Username") %></strong><br />
<asp:LinkButton ID="detailsButton" runat="server" Text=<%#"View more details about " + Eval("Name")%>
CommandName="MoreDetailsPlease"
CommandArgument=<%#Eval("EmployeeID")%> />
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:DataList>
だから、私はしばらくの間、それを摘み取り、そして実際にコンパイルし、この解決策を考え出したしました:I
<asp:DataList ID="employeesList" runat="server" onitemcommand="employeesList_ItemCommand">
<ItemTemplate>
<asp:Literal ID="extraDetailsLiteral" runat="server" EnableViewState="false" />
Name: <strong><%#Eval("Name") %></strong><br />
Username: <strong><%#Eval("Username") %></strong><br />
<asp:LinkButton ID="detailsButton" runat="server" Text='View more details about <%# Eval("Name") %>'
CommandName="MoreDetailsPlease" CommandArgument='<%Eval("EmployeeID") %>' />
</ItemTemplate>
<SeparatorTemplate>
<hr />
</SeparatorTemplate>
</asp:DataList>
お知らせまた、asp:DataListタグにOnItemCommandを追加しました。これで、予定通りにイベントを発生させることができます。
しかし、ブラウザの結果は私が期待するものではありません。 強いテキストに記載されている名前とユーザー名がうまく表示されますが、LinkButtonコントロール内の余分な詳細(社員コードフィールド)を示すべきであるLiteralコントロールと[名前]フィールドには、ページ内にその値を表示しません。
not showing as expected http://lh6.ggpht.com/_x84bQLYH57A/SgxzygartcI/AAAAAAAAAIY/nhT-6RUJa6o/s144/EmployeeDirectory_notshowing.jpgそして「ザックRuvalcabaについて見る詳細」
だから私はそれが別のコントロールの内部で、誰もが私を助けることができたときに動作していないのeval関数だと思う:
それは、は「1社員は」言うべき?
ありがとうございます!
このソリューションでは、アプリケーションがクラッシュし、DataBindingというエラーが発生します。「System.Data.Common.DataRecordInternal」に「{0}の詳細を表示」という名前のプロパティが含まれていません。 もう一度見ていただけますか?私はこれがかなり優雅に見えるので、これを行う方法であることを願っています。 :) – tplive
CommandArgument ..にある欠落した#を見つけ出すための半分のポイント – tplive
私はあなたの更新された解決策にIMHOの答えを与えています。しかしTheTXIにも面白いテイクがありますので、私は彼を怒らせました。私がこれを正しくやっていることを願って、私はまったく新しいです!あなたの返信のためにおかげでみんな! – tplive