मैं इसवहाँ 2
<% foreach (var person in Model.People)
{
%>
<tr>
<td><%= Html.ActionLink(accessory.Name, "EditPerson") %></td>
<td><%= Html.DisplayFor(c => person.Name) %></td>
<td><%= Html.DisplayFor(c => person.Age) %></td>
<td><%= Html.DisplayFor(c => person.Budget)%></td>
</tr>
<%} %>
मैं चूक ओवरराइड करने के लिए टेम्पलेट्स बना लिया है की तरह डेटा की एक तालिका का निर्माण कर रहा हूँ ASP.MVC में HideSurroundingHtml मान सेट करने के लिए एक तरह से निम्नलिखित Brad Wilson's tutorial है:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<script runat="server">
protected override void OnInit(EventArgs e) {
base.OnInit(e);
if (ViewData.ModelMetadata.HideSurroundingHtml) {
TablePlaceholder.Visible = false;
}
else {
Controls.Remove(Data);
DataPlaceholder.Controls.Add(Data);
}
}
</script>
<asp:ContentPlaceHolder runat="server" id="Data" />
<asp:PlaceHolder runat="server" id="TablePlaceholder">
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td style="width: 10em;">
<div class="display-label" style="text-align: right;">
<asp:ContentPlaceHolder runat="server" id="Label">
<%= ViewData.ModelMetadata.GetDisplayName() %>
</asp:ContentPlaceHolder>
</div>
</td>
<td>
<div class="display-field">
<asp:PlaceHolder runat="server" id="DataPlaceholder" />
</div>
</td>
</tr>
</table>
</asp:PlaceHolder>
तालिका को प्रतिपादित करते समय मैं आसपास के HTML को प्रदर्शित नहीं करना चाहता, लेकिन मेरे पास कोई संकेत नहीं है कि HideSurroundingHtml मान कैसे सेट करें?
मुझे यह समाधान पसंद है। – adriaanp
धन्यवाद, मैं अभी भी पागल नहीं हूं कि एचटीएमएल सभी 'if' कथनों के साथ कैसे निकलता है, लेकिन मुझे लगता है कि यह इसके बारे में जाने का एक बहुत ही सरल तरीका है। –
ध्यान दें कि यह तकनीक 'अतिरिक्त वैल्यू' शब्दकोश में एक प्रविष्टि बनाता है और एक्सेस करती है और वास्तव में 'ModelMetadata'' में 'HideSurroundingHtml' ध्वज सेट नहीं करती है; अनजाने में, झंडा झूठा रहता है। – Suncat2000