如何确定自定义模型活页夹中可选参数的默认值?
How can I determine the default value of an optional parameter in a custom model binder?
我有这样的操作方法:
Function Index(Optional MyBoolean As Boolean = True) As ActionResult
和一个处理整数值的自定义模型联编程序,这样我就可以像这样调用它:
/controller/Index?MyBoolean=1
我的模型活页夹在 BindModel
方法中这样做:
'convert the string to a boolean
return bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue.ToBoolean, False)
这很好用。 但是,我不知道如何处理参数为Optional的情况。我可以检查参数是否未设置,但是我想 return 无论默认值是什么,我看不到如何在我的模型活页夹中确定它。换句话说,如果没有为MyBoolean
指定值属性,我怎么能看到默认值为True
和return?
要有一个可选参数,变量必须可以为空,这样如果没有传递任何值,该值将为 null
。不过,我不确定您为什么要为此创建自定义模型活页夹;默认模型绑定器可以轻松地将字符串转换为布尔值。
事实证明,如果您只是 return False
in BindModel
,则默认 MVC 模型绑定将使用其默认值填充参数。呸
我有这样的操作方法:
Function Index(Optional MyBoolean As Boolean = True) As ActionResult
和一个处理整数值的自定义模型联编程序,这样我就可以像这样调用它:
/controller/Index?MyBoolean=1
我的模型活页夹在 BindModel
方法中这样做:
'convert the string to a boolean
return bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue.ToBoolean, False)
这很好用。 但是,我不知道如何处理参数为Optional的情况。我可以检查参数是否未设置,但是我想 return 无论默认值是什么,我看不到如何在我的模型活页夹中确定它。换句话说,如果没有为MyBoolean
指定值属性,我怎么能看到默认值为True
和return?
要有一个可选参数,变量必须可以为空,这样如果没有传递任何值,该值将为 null
。不过,我不确定您为什么要为此创建自定义模型活页夹;默认模型绑定器可以轻松地将字符串转换为布尔值。
事实证明,如果您只是 return False
in BindModel
,则默认 MVC 模型绑定将使用其默认值填充参数。呸