【发布时间】:2013-09-02 15:42:51
【问题描述】:
我有一个复杂的 Json 数据作为模型的一部分作为字符串。
在文档准备就绪时,我正在借助以下代码将一些 JSON 解析为 Javascript 对象:
JSON.parse($('#myData').val());
我正在评估 JS 函数中的某些条件并获取原始 HTML 字符串(类似于:<h2><strong>Note :</strong> No Data found for the selection made</h2>)
我想让 div 可见并在上面的语句被评估后在我的 HTML 正文中出现的 @Html.Raw() 中插入此代码。
例如:
<div id="divNoDataFoundMessage" style="display: none">
<span class="" style="padding-right: 100px;">
@{
@Html.Raw()
}
</span>
</div>
请帮助我如何将 document.ready 中的数据替换为上述代码以动态显示它。
<input type="hidden" value="@Model.MyListData" id="myData"/>
$(document).ready(function () {
var jsonData = JSON.parse($('#myData').val());
if (jsonData.NoDriversFound != "") {
$("#divNoDataFoundMessage").show();
$("#divNoDataFoundMessage span").text(jsonData.NoDriversFound);
}
};
【问题讨论】:
-
对不起,@{ @Html.Raw() 是什么?这是您想要换出消息的某种分隔符/标签吗?或者,这是您在服务器上运行的 MVC/Razor 帮助程序代码吗?您的 js 看起来不错,只要您的 if 条件为真并且您的 div(带有 id)存在于 DOM 中。
-
您的问题有点令人困惑。您在
$(document).ready()的客户端上处理一些 jQuery/Javascript,但也在谈论服务器端 Razor 标记,例如:@{ @Html.Raw() }@意欲来自。页面准备就绪后,它看起来就像预期的那样。 -
为了让我的问题更清楚,我只是想在页面之后在 div 中呈现
注意: No Data found for the selections
完全加载。但是在这样做时,html标签会按原样出现,而不是被渲染。请帮我解决。
标签: javascript jquery asp.net-mvc