我正在尝试将数据绑定到html表,如下所示。
function showDocumentmetaData(docid) {
$.ajax(
{
type: "GET",
data: { upld_id: docid },
dataType: "html",
url: '/documentVerification/GetDocumentmetadata',
success: function (data) {
alert(data);
$('#details').html("");
$('#details').html(data);
alert(data);
}
, error: function (error) {
}
});
}
<table id="details" width="100%" border="0" cellspacing="0" cellpadding="0" class="dataTable" style="text-align:right !important; border-bottom:0"></table>
GetDocumentmetadata将返回部分视图,如下所示。
@model c3card.DAL.uploadanddocContentviewModel
@{
string data="";
int textId;
}
@foreach (var content in Model.uploadanddocContent)
{
data += "<tr class='no-bdr right-align'><td width='30%' scope='col'>" + content.content_Label + "</td>";
data += "<td width='60%' scope='col'>";
var cntrolType = content.content_controlType;
var fieldtype = content.content_fieldType;
switch (cntrolType)
{
case "TextBox":
if (fieldtype == "varchar")
{
data += "<div class='form-box form-box-default'> <input type='text' value='"+content.upld_Value+"' onkeypress='return ValidateAlphaNumeric(event);' id='txtBox" + textId + "' name='" + content.content_Label + "' class='txtBox form-control validate[required]' maxlength='30' placeholder=''></div></td> ";
}
else if (fieldtype == "datetime")
{
data += " <div style='width:105%;'><input type='text' value='" + content.upld_Value + "' id='txtBox" + textId + "' name='" + content.content_Label + "' style='width:90%;margin-right:2px;height:38px;' class='form-box form-box-default txtBox form-control datepicker validate[required, custom[date,future[now]]]' placeholder=''></div></td> ";
}
break;
}
textId++;
data += "</tr>";
}
当我追踪上面的代码变量时,名为data的数据将从模型中获取数据而没有任何问题。但是成功的功能数据不会附加到详细信息表。实际上它显示为null。我提出警告并检查。我可以知道我哪里错了吗?提前谢谢。
当我在局部视图中放下代码时,它可以正常工作。
<div class="forms">
@foreach (var content in Model.uploadanddocContent)
{
<h1>@content.content_Label</h1>
switch (content.content_controlType)
{
case "TextBox":
if (content.content_fieldType == "varchar")
{
<input type='text' id="varchar" value=@content.upld_Value onkeypress='return ValidateAlphaNumeric(event);' class='txtBox form-control validate[required]' maxlength='30' placeholder='' />
}
else if (content.content_fieldType == "datetime")
{
<input type='text' value=@content.upld_Value id="varchar" style='width:90%;margin-right:2px;height:38px;' class='form-box form-box-default txtBox form-control datepicker validate[required, custom[date,future[now]]]' placeholder='' />
}
break;
}
}
</div>
<input type="button" class="btn btn-primary btn-cons submitGreen" value="Update" onclick='updatemetaData(@Model.upldId)' />
<input type="button" value="cancel" class="btn btn-primary btn-cons search" onclick='cancel(@Model.upldId)' />
但我希望第一种方法可以运作。有可能吗?
答案 0 :(得分:2)
你应该附加到表的tbody,不要改变它的html。
试试这个:
$('#details').find('tbody').remove();
$('#details').find('tbody').append(data);
希望它有所帮助。