在C#控制器中将引用数据传递到Knockout视图模型中,以便它可以将ID解析为其文本值,可以按照以下步骤进行:
以下是一个示例代码:
C#控制器代码:
public class ReferenceDataController : Controller
{
public ActionResult Index()
{
// 获取引用数据的ID和文本值
int referenceId = 1;
string referenceText = "Reference Data";
// 创建数据模型对象
ReferenceDataModel referenceData = new ReferenceDataModel
{
Id = referenceId,
Text = referenceText
};
// 将数据模型对象传递给视图
return View(referenceData);
}
}
Knockout视图模型代码:
function ReferenceDataViewModel() {
var self = this;
self.referenceData = ko.observableArray([]);
// 从服务器获取数据模型对象
$.ajax({
url: '/ReferenceData/GetData',
type: 'GET',
success: function (data) {
// 将服务器返回的数据模型对象转换为Observable数组
var mappedData = $.map(data, function (item) {
return new ReferenceDataModel(item);
});
// 将数据绑定到Observable数组
self.referenceData(mappedData);
}
});
}
function ReferenceDataModel(data) {
var self = this;
self.id = ko.observable(data.Id);
self.text = ko.observable(data.Text);
}
ko.applyBindings(new ReferenceDataViewModel());
在视图中使用Knockout绑定将ID解析为文本值:
<div data-bind="foreach: referenceData">
<span data-bind="text: id"></span> - <span data-bind="text: text"></span>
</div>
这样,你就可以将引用数据从C#控制器传递到Knockout视图模型中,并在视图中将ID解析为其文本值。
领取专属 10元无门槛券
手把手带您无忧上云