我正在尝试使用ASP .net MVC中的HTML Helper方法在表td标记内呈现一些DIV。出于某种原因,div没有被渲染。这是我的示例代码。我的模型有两个属性ID和一个字符串列表。字符串基本上是HTML DIV标签。
<table>
<tr>
<th>ID</th>
<th>Schedule</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td><%: Html.DisplayFor(modelItem => item.ID) %></td>
<td>
<% foreach (var bar in item.Details)
{
Html.DisplayFor(modelItem => bar);
}
%>
</td>
</tr>
<% } %>
</table>
视图使用ID填充,但不填充DIV标记。有人能指出我可能做错了什么。
谢谢, Javid
答案 0 :(得分:1)
您错过了<%: %>
Html.DisplayFor
<td>
<% foreach (var bar in item.Details) { %>
<%: Html.DisplayFor(modelItem => bar) %>
<% } %>
</td>
因为Html.DisplayFor
没有直接写入Response只会将呈现的模板返回为MvcHtmlString
,所以需要使用<%: %>
“输出”。
答案 1 :(得分:0)
你可以使用jQuery的.getJSON和.html方法来拼出包含DIV的HTML标记:
<script>
$(document).ready(
function () {
$("#Button2").click(
function () {
$("#ohyeah").html("blah blah blah");
var jsonlisteningobject = {};
$.getJSON("/home/somefoo", null, function (data) {
var div = $('#ohyeah');
div.html("<td>" + data.someNumber + "</td><td>" + data.someString1 + "</td><td>" + data.someString2 + "</td><td>" + data.someListofStrings[3] + "</td>");
}
);
$.getJSON("/home/someHTML", null, function (data) {
$("#someHTMLstuff").html(data);
});
}
);
});
</script>
'someHTMLstuff'和'ohyeah'可以是您网页上的DIV元素。