我想在mvc中的同一页面中返回错误消息 [英] I want to return error message in same page in mvc
问题描述
我有一个控制器,它返回一条消息,但是这个消息显示在新的空白页面。我想在同一页面显示这个消息,任何人都可以帮助我..
我的代码是
控制器是
[HttpPost]
公共ActionResult NewsLetter(NewsLetterModel模型)
{
试试
{
string msg =;
string res =;
if(ModelState.IsValid)
{
kebhariBlogsEntities objEntity = new kebhariBlogsEntities();
if(model.Choice == 0)
{
res = User_Role_BL.Newsletter(model .Email,0,model.Option,0,0);
msg = res;
}
else if(model.Choice = = 1)
{
res = User_Role_BL.Newsletter(model.Email,1,model.Option,0,0);
msg = res;
}
else
{
msg =error;
}
}
其他
{
msg =无效的电子邮件;
}
返回Json(msg,JsonRequestBehavior.AllowGet);
}
catch(Exception ex)
{
ErrorViewModel errorModel = new ErrorViewModel();
errorModel.ErrorDetails = ex.Message;
errorModel.ReturnUrl = Url.Action(Common,NewsLetter);
返回RedirectToAction(E rrorList,错误,errorModel);
}
}
我的查看页面是
@model KebhariBlog.Models.CommonModel.NewsLetterModel
@ *< script type =text / javascriptsrc =@ Url.Content(〜/ Content // js / jquery-1.4.2.min.js)>< / script> * @
@ *< ; script src =@ Url.Content(〜/ Scripts / jquery.unobtrusive-ajax.min.js)type =text / javascript>< / script> * @
< script src =@ Url.Content(〜/ Scripts / jquery.validate.min.js)type =text / javascript>< / script>
< ; script src =@ Url.Content(〜/ Scripts / jquery.validate.unobtrusive.min.js)type =text / javascript>< / script>
@using(Ajax.BeginForm(NewsLetter,Common,新的AjaxOptions {UpdateTargetId =updateNews,OnBegin =showLoader();,OnComplete =hideLoader();}) )
{
i have a controller that returns a message but this msg show in new blank page .i want to show this msg in the same page anyone can help me..
my code is
controller is
[HttpPost]
public ActionResult NewsLetter(NewsLetterModel model)
{
try
{
string msg = "";
string res = "";
if (ModelState.IsValid)
{
kebhariBlogsEntities objEntity = new kebhariBlogsEntities();
if (model.Choice == 0)
{
res = User_Role_BL.Newsletter(model.Email, 0, model.Option, 0, 0);
msg = res;
}
else if (model.Choice == 1)
{
res = User_Role_BL.Newsletter(model.Email, 1, model.Option, 0, 0);
msg = res;
}
else
{
msg = "error";
}
}
else
{
msg = "Invalid Email";
}
return Json(msg, JsonRequestBehavior.AllowGet);
}
catch (Exception ex)
{
ErrorViewModel errorModel = new ErrorViewModel();
errorModel.ErrorDetails = ex.Message;
errorModel.ReturnUrl = Url.Action("Common", "NewsLetter");
return RedirectToAction("ErrorList", "Error", errorModel);
}
}
and my view page is
@model KebhariBlog.Models.CommonModel.NewsLetterModel
@* <script type="text/javascript" src="@Url.Content("~/Content//js/jquery-1.4.2.min.js")"></script>*@
@* <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>*@
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Ajax.BeginForm("NewsLetter", "Common", new AjaxOptions { UpdateTargetId = "updateNews", OnBegin = "showLoader();", OnComplete = "hideLoader();" }))
{
@ Html.TextBoxFor(m => m.Email,new {@ class =blog_search,@ Value =,Placeholder =Enter Your Mail Id ...,@ style =background:none; font-size:12px; width:95%; border:1px solid #CCC;,}}
@ Html.ValidationMessageFor(m => m.Email)
@Html.TextBoxFor(m => m.Email, new { @class="blog_search", @Value="" ,Placeholder="Enter Your Mail Id..." ,@style="background: none;font-size: 12px;width: 95%;border: 1px solid #CCC;",})
@Html.ValidationMessageFor(m => m.Email)
< img src =@ Url.Content(〜/ Content / images / ajax-loader(1 ).gif)id =loaderImgstyle =display:none; />
}
< script type =text / javascript>
function showLoader (){b / b
document.getElementById('loaderImg')。style.display ='block';
}
function hideLoader(){
document.getElementById('loaderImg')。style.display ='none';
}
function validate(){
var email = document.getElementById('Email');
var emailPattern = /^[a-zA-Z0-9._-]+@@[a-zA- Z0-9 .-] + \。[a-zA-Z] {2,4} $ /;
if(email.value ==''||!emailPattern.test(email .value)){
document.getElementById('updateNews')。innerHTML ='无效的电子邮件';
返回false;
}
else {
document.getElementById('updateNews')。innerHTML ='';
}
}
< / sc ript>
<img src="@Url.Content("~/Content/images/ajax-loader (1).gif")" id="loaderImg" style="display:none;" />
}
<script type="text/javascript">
function showLoader() {
document.getElementById('loaderImg').style.display = 'block';
}
function hideLoader() {
document.getElementById('loaderImg').style.display = 'none';
}
function validate() {
var email = document.getElementById('Email');
var emailPattern = /^[a-zA-Z0-9._-]+@@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
if (email.value == '' || !emailPattern.test(email.value)) {
document.getElementById('updateNews').innerHTML = 'Invalid Email';
return false;
}
else{
document.getElementById('updateNews').innerHTML = '';
}
}
</script>
推荐答案
/;
if(email.value ==''|| !emailPattern.test(email.value)){
document.getElementById('updateNews')。innerHTML ='无效的电子邮件';
返回false;
}
else {
document.getElementById('updateNews')。innerHTML =''; < br $>
}
}
< / script>
/;
if (email.value == '' || !emailPattern.test(email.value)) {
document.getElementById('updateNews').innerHTML = 'Invalid Email';
return false;
}
else{
document.getElementById('updateNews').innerHTML = '';
}
}
</script>
使用'Viewbag'元素。给它留言你要展示的&然后在你的视图中放置代码。
use 'Viewbag' element.Assign it message which you want to show & then place fallowing code in your view.
@if (!string.IsNullOrEmpty(ViewBag.AlertMessage))
{
<script type="text/javascript">
alert("@ViewBag.AlertMessage");
ViewBag.AlertMessage = "";
</script>
}
这篇关于我想在mvc中的同一页面中返回错误消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!