有人可以指点我如何在淘汰赛中宣布GUID。
表示字符串,int表示
self.Idnumber(0);
self.name("");
对于guid来说就像是
self.Guid(FAE04EC0-301F-11D3-BF4B-00C04F79EFBC)
或只是
self.Guid(0)
答案 0 :(得分:2)
guid
/客户端js中没有内置Knockout
方法。为此,您可以添加辅助函数。
以下函数返回完美的GUID
:
function guid() {
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
}
只需在全局使用的your js
中添加上述代码即可。只需调用此函数即可。它将返回正确的guid
。
你可以将硬编码的guid声明为可观察的,如下所示:
self.Guid = ko.observable('FAE04EC0-301F-11D3-BF4B-00C04F79EFBC')
要使其成为动态包含guid()
功能,请按以下方式调用:
self.Guid = ko.observable(guid())
声明可观察变量后分配:
self.Guid(guid());
//or
self.Guid('FAE04EC0-301F-11D3-BF4B-00C04F79EFBC');
答案 1 :(得分:2)
我创造了这样的
function CreateGuid() {
var guid = (function () {
function s4() {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
}
return function () {
return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
s4() + '-' + s4() + s4() + s4();
};
})();
return guid();
}
请检查它是否对您有帮助。
答案 2 :(得分:0)
只需编写javascript guid生成器函数
var guidGenerator = function () {
return {
newuuid: function () {
var s = [];
var hexDigits = "0123456789abcdef";
for (var i = 0; i < 36; i++) {
s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);
}
s[14] = "4"; // bits 12-15 of the time_hi_and_version field to 0010
s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01
s[8] = s[13] = s[18] = s[23] = "-";
return s.join("");
}
}
称之为
self.guid(guidGenerator.newuudid());
希望它有助于你
答案 3 :(得分:0)
KO没有默认类型guid,但低于建议。
客户端JS:
//This is a function to help verify that the guid is empty, good for future usage.
function IsGuidEmpty (guid) {
var emptyGuid = "00000000-0000-0000-0000-000000000000";
if (guid === emptyGuid)
return true;
else
return false;
}
//This is a function to set the guid to empty.
function () SetEmptyGuid {
var emptyGuid = "00000000-0000-0000-0000-000000000000";
return emptyGuid;
}
KO ViewModel:
self.Guid = ko.observable(SetEmptyGuid());
服务器端C#:
// your API or controller
if (yourGuid != Guid.Empty)
{
//Todo
}