2009-02-23 37 views
5

Tôi đang sử dụng ASP: LinkButton bên trong một ItemTemplate bên trong một TemplateField trong GridView. Đối với đối số lệnh cho nút liên kết Tôi muốn vượt qua ID của hàng từ nguồn dữ liệu mà GridView là ràng buộc để, vì vậy tôi đang làm một cái gì đó như thế này:ASP: LinkButton và Eval

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="<%#Eval("ID")%>" Text="View Log" runat="server"/> 

Thật không may, HTML kết quả là đây :

<asp:LinkButton ID="viewLogButton" CommandName="viewLog" CommandArgument="3" Text="View Log" runat="server"/> 

dường như nó phân tích cú pháp Eval() đúng cách, nhưng điều này bằng cách nào đó làm cho nó không để phân tích thẻ LinkButton và chỉ đổ nó ra văn bản như chữ. Có ai biết:

a) tại sao điều này xảy ra và, b) giải pháp tốt cho vấn đề này là gì?

+0

"<% # Eval (" ID ")%>" có vẻ khó phân tích cú pháp. – bzlm

+0

Bạn có thể đăng một số mã không. Có vẻ như LinkButton của bạn có thể bị phát hiện trong điều khiển Văn học. –

Trả lời

9

Trong khi nó có thể không thể gây ra nó, tôi thường định nghĩa nó như thế này:

CommandArgument='<%#Eval("ID")%>' 

Xin vui lòng gửi phần còn lại của đánh dấu của GridView, vì nó không nên làm điều đó.

+1

ngớ ngẩn tôi, tôi đoán báo giá đã làm điều đó. Cảm ơn. Tôi giả định rằng tất cả các mẫu được phân tích cú pháp trước khi asp: * đánh dấu thực tế - không đoán. – sgibbons

+0

Chỉ có cùng một vấn đề và sắp hỏi cùng một câu hỏi. – CJM

+0

tôi sẽ làm gì nếu không có StackOverflow! –