+
es un símbolo reservado en una url. Significa espacio en blanco. Así que para lograr lo que busca se podría escribir un modelo personalizado de aglutinante:
public class StringModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
if (value != null && !string.IsNullOrEmpty(value.AttemptedValue))
{
return value.AttemptedValue.Split(' ');
}
return base.BindModel(controllerContext, bindingContext);
}
}
y luego o registrarlo a nivel mundial para el tipo string[]
o utilizar el atributo ModelBinder
:
public ActionResult MyActionName(
[ModelBinder(typeof(StringModelBinder))] string[] ids
)
{
return View(ids);
}
Obviamente, si usted quiere para usar una url del formulario /MyControllerName/MyActionName/Id1+Id2+Id3+Id4
que enlazará la última parte como un parámetro de acción llamado ids
, deberá modificar la definición de ruta predeterminada que usa {id}
.
En realidad necesito: 'code'public ActionResult MyActionName (int [] IDS) { Regresar ver (IDS); } 'código' –