我有一个页面,它接受参数x(这是一个GUID)。 在页面上我有一个
HTML.DropDownListFor(x => x.SomeGuidProperty).
如果我将URL中的参数x指定为43f67d68-066d-4fda-94a8-3e3e4c7c278a
(带破折号),则下拉选择重新选择的选项。
但是如果我在URL中将参数x指定为43f67d68066d4fda94a83e3e4c7c278a
(仍然是GUID,但没有破折号) - DropDownList会忽略它。
不可能确保单一格式的GUID,因为页面由不同的来源使用。
如何使DropDownList理解参数x?
答案 0 :(得分:0)
您需要绑定到字符串,然后以编程方式转换为Guid
,而不是直接绑定到Guid
。例如,而不是像:
public ActionResult Foo(Guid x)
您需要:
public Actionresult Foo(string x)
然后在内部,您希望格式化x
,因为Guid
应格式化,如果在将其转换为实际Guid
之前尚未格式化:var guid = new Guid(x)
: var cards = Card.find().sort('-created').exec(function (err, cards) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(cards);
}
});
。