我需要允许boolean和integer作为url中特定变量的输入参数。我如何实现它?
public string PostReggieHeader(string xml, bool metaDataFlag)
{
string xmlData = string.Empty;
if (true)
{
xmlGenerator.ValidateXSD(xml);
xmlData = UpdatePerformanceValues(documentService.PostReggieHeader(xml, metaDataFlag, Request.RequestUri.AbsoluteUri.ToString()));
}
return xmlData;
}
在上面的代码中,我需要允许bool值和整数值作为输入参数。除了'0'之外,它会将每个其他整数视为'true'。
我已经尝试过以下代码,但是当我将metadataflag = true视为false时它失败了。有什么建议吗?
[AcceptVerbs("GET", "POST")]
public string PostReggieHeader(string xml, int? metaDataFlag)
{
string xmlData = string.Empty;
bool metaFlag = metaDataFlag != null ? Convert.ToBoolean(metaDataFlag) : false;
if (true)
{
//xmlGenerator.ValidateXSD(xml))
xmlData = UpdatePerformanceValues(documentService.PostReggieHeader(xml, metaFlag, Request.RequestUri.AbsoluteUri.ToString()));
}
return xmlData;
}
答案 0 :(得分:3)
将输入作为字符串获取,然后将其解析为bool或int,它是什么,然后根据结果决定你想要做什么:
[AcceptVerbs("GET", "POST")]
public string PostReggieHeader(string xml, string metaDataFlag)
{
string xmlData = string.Empty;
bool metaTag = false;
int metaTagInt = 0;
bool isBool = false;
if(metaDataFlag == null || bool.TryParse(metaDataFlag, out metaFlag))
{
isBool = true;
}
else
{
int.TryParse(metaDataFlag, out metaTagInt);
}
//rest of code
}
答案 1 :(得分:0)
创建一个包含字符串和布尔字段的模型并传递该模型。服务器端将字符串和布尔属性提取到相应的变量中。
它适用于GET以及后期操作。