MVC的WebAPI模型的结合问题
问题描述:
IM所面临的问题,需要帮助的MVC的WebAPI模型的结合问题
我在的WebAPI请求位已经在请求模型
public HttpResponseMessage Update(MyRequest req)
class MyRequest{
public string UserName {get; set;}
public CustomEnum Type {get; set;}
}
Enum CustomEnum {
Registered ,
UnRegistered
}
的问题是在我的请求IM seding一个枚举值,该值不CustomEnum的一部分,但由于自身的WebAPI映射值这让我没有发现
,所以我想的异常何不当请求到达我自己绘制它像
class MyRequest{
public string {get; set;}
public CustomEnum {
get {
if (??? = "NEWVALUE") ??? = "Registered";
return {???} ; set;}
}
问题是我无法得到?这个值在获取访问器,可以有人帮助我如何得到它
答
如果我理解正确的问题,你本质上试图绑定一个值到CustomEnum
类型,它不是那个enum
的任何定义值 - so价值不能被绑定到我认为是异常的原因。
我想你可以做的却是这样的:
class MyRequest{
public string UserName {get; set;}
public string Type {get; set;}
pulic CustomEnum? TypeAsEnum
{
get{
CustomEnum value;
return Enum.TryParse(typeof(CustomEnum), out value) ? value : (CustomEnum?)null;
}
}
}
那么我认为任何值应该是绑定的类型属性(因为它是一个string
),你可以使用TypeAsEnum
属性获取CustomEnum
类型值,如果Type
不能转换为CustomEnum
类型,则返回null。在任何情况下,您仍然可以从Type
属性获取该文本的表示形式。
请问您能向我们展示更多的代码:更新控制器,或许是模型绑定器 – Marusyk
好吧,这几乎是所有的代码。更新(MyRequest的请求)是在控制器,即时通讯发送请求通过postMan和WEB做模型绑定本身即那里的问题 – Salman
如果我可以得到价值获取我的请求类访问器然后我可以做,如果其他那多数民众赞成在即时尝试做 – Salman