<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")"></script>
<script src="@Url.Content("~/Scripts/Noty/jquery.noty.js")"></script>
اول این کدها رو اضافه کردم به layout
بعد در پوشه ای بنام utility: یک کلاس ساختم بنام messagebox.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.Mvc;
public class JsonData
{
public string Script { get; set; }
public string Html { get; set; }
public bool Success { get; set; }
}
public class MessageBox
{
public static JavaScriptResult Show(string message, MessageType type = MessageType.Alert, bool modal = false, MessageAlignment layout = MessageAlignment.Center, bool dismissQueue = false)
{
string txt = "$.noty.closeAll(); noty({ text: \"" + message + "\", type: \"" + type.ToString().ToLower() + "\", layout: \"" + layout.ToString().ToLowerFirst() + "\", dismissQueue: " + dismissQueue.ToString().ToLower() + ", modal: " + modal.ToString().ToLower() + " });";
return new JavaScriptResult() { Script = txt };
}
}
public enum MessageType
{
Success,
Error,
Information,
Warning,
Alert,
Notification
}
public enum MessageAlignment
{
Bottom,
BottomCenter,
BottomLeft,
BottomRight,
Center,
CenterLeft,
CenterRight,
Inline,
Top,
TopCenter,
TopLeft,
TopRight
}
حالا در کنترلر به این صورت استفاده میکنم:
return MessageBox.Show(ModelState.GetErrors(), MessageType.Warning);