C# 如果变量为',则显示错误消息;这不是我所期望的

C# 如果变量为',则显示错误消息;这不是我所期望的,c#,asp.net-mvc,error-handling,data-annotations,C#,Asp.net Mvc,Error Handling,Data Annotations,我正在POST控制器中接收列表百分比作为参数 我正在这样做: var prc = 0; var prcCount = 0; foreach (var pr in percentage) { prc += pr; prcCount++; } if (prc != 100) return View(); 现在我想要的是它,而不是返回视图();它会显示错误消息,百分比必须为100。我该怎么做呢?假设返回类型是ActionResult return Content("Perce

我正在POST控制器中接收
列表百分比作为参数

我正在这样做:

var prc = 0;
var prcCount = 0;
foreach (var pr in percentage)
{
    prc += pr;
    prcCount++;
}
if (prc != 100)
    return View();

现在我想要的是它,而不是返回视图();它会显示错误消息,百分比必须为100。我该怎么做呢?

假设返回类型是ActionResult

return Content("Percentage must be 100");

在viewbag中添加消息

if (prc != 100)
    {
      ViewBag.PercentageMessage = "your error message."
      return View();
    }
并在视图中检查ViewBag.PercentageMessage是否不为null和空,然后在标签中显示消息

if (ViewBag.PercentageMessage != null)
{
    string message = Convert.ToString(ViewBag.PercentageMessage);
    if(message != "")
    {
      <label>@message</label>
    }
}
if(ViewBag.PercentageMessage!=null)
{
字符串消息=Convert.ToString(ViewBag.PercentageMessage);
如果(消息!=“”)
{
@信息
}
}

将此代码放在要显示消息的位置

将消息放在ViewBag、ViewData或model中,然后用jquery显示它。 像这样的

ViewBag.Error = "percentage must be 100";
javascript视图

var ErrorMessage = @ViewBag.Error;
jquery

if (ErrorMessage.length>0) {   
       $("#divError").show().html(ErrorMessage); 
}
if (ErrorMessage.length>0) {   
       $("#divError").show().html(ErrorMessage); 
}