2012-12-19 26 views
19

Tôi có vấn đề này: Từ một cơ sở dữ liệu, được giữ một chuỗi, trong đó có HTML được trộn lẫn với mã C#. Tôi ước tôi có thể chạy đúng cả hai mã trên trang của tôi .aspx.Đánh giá mã C# dưới dạng chuỗi trong một tệp aspx

ví dụ: trong aspx của tôi:

<div><%= Model.repo.getCode() %></div> 

và phương pháp getCode() cho tôi này:

<div id="secondDiv"><p><%= Model.Person.Name %></p></div> 

vì vậy tôi muốn html thức tập tin trông giống như:

<div><div id="secondDiv"><p>Jhon</p></div></div> 

bất cứ đề nghị?

+0

Một câu hỏi rất hay! Tôi điều bạn cần biểu thức –

+1

Tại sao bạn không thể tiêm giá trị của Model.Person.Name vào bên trong HTML của phương thức getCode? –

+0

Mã đơn giản (Đánh giá tài sản hay gì đó tương tự?) –

Trả lời

1

Có thể có cách trực tiếp để ràng buộc giá trị đó, Nhưng nếu bạn có thể lưu trữ String.Formatable vào cơ sở dữ liệu thì sẽ dễ dàng ràng buộc dữ liệu cần thiết.

Sử dụng String.Format bạn đạt được như thế nào,

trở chuỗi từ Model.repo.getCode() (thấy dấu ngoặc nhọn)

"<div id="secondDiv"><p>{0}</p></div>"; 

Và trong mã ASP,

<div><%= string.format(Model.repo.getCode(),Model.Person.Name) %></div> 
+0

Tôi cho rằng anh ấy nhận được mọi thứ từ dữ liệu sau đó anh ấy không biết nếu anh ta cần Model.Person.Name hoặc cái gì khác ... –

+0

:(Tôi đã bỏ lỡ điểm đó, sửa câu trả lời – paragy

0

Hãy xem dự án này vì nó đã giúp tôi với một vấn đề tương tự: https://github.com/formosatek/dotliquid Về cơ bản bạn có thể ràng buộc bất cứ điều gì obje cts vào một khuôn mẫu và khuôn mẫu đó có thể gọi các thuộc tính của các đối tượng của bạn và thậm chí sử dụng các logic và vòng lặp có điều kiện.

Các vấn đề liên quan